Re: race condition in pgplsql call handler?
| От | Tom Lane |
|---|---|
| Тема | Re: race condition in pgplsql call handler? |
| Дата | |
| Msg-id | 17475.1178888659@sss.pgh.pa.us обсуждение |
| Ответ на | race condition in pgplsql call handler? (Zdenek Kotala <Zdenek.Kotala@Sun.COM>) |
| Ответы |
Re: race condition in pgplsql call handler?
|
| Список | pgsql-hackers |
Zdenek Kotala <Zdenek.Kotala@Sun.COM> writes:
> I'm looking into PG/PLSql code and following code in
> plpgsql_call_handler looks strange:
> /* Find or compile the function */
> func = plpgsql_compile(fcinfo, false);
> /* Mark the function as busy, so it can't be deleted from under
> us */
> func->use_count++;
> I don't have deep knowledge about this part of code. But what happen if
> in parallel execution "func" will be deleted between these two lines?
This is not a race condition because the backend is single-threaded.
(Hint: what it actually means by "function" is "the plpgsql function
cache entry I just found or built".)
regards, tom lane
В списке pgsql-hackers по дате отправления: