Re: Using Threads?
От | Ross J. Reedstrom |
---|---|
Тема | Re: Using Threads? |
Дата | |
Msg-id | 20001204113307.B5871@rice.edu обсуждение исходный текст |
Ответ на | Re: Using Threads? (Myron Scott <mscott@sacadia.com>) |
Ответы |
Re: Using Threads?
Re: Using Threads? |
Список | pgsql-hackers |
Myron - Putting aside the fork/threads discussion for a moment (the reasons, both historical and other, such as inter-backend protection, are well covered in the archives), the work you did sounds like an interesting experiment in code redesign. Would you be willing to release the hacked code somewhere for others to learn from? Hacking flex to generate thread-safe code is of itself interesting, and the question about PG and threads comes up so often, that an example of why it's not a simple task would be useful. Ross On Mon, Dec 04, 2000 at 12:20:20AM -0800, Myron Scott wrote: > I maybe wrong but I think that PGSQL is not threaded mostly due to > historical reasons. It looks to me like the source has developed over > time where much of the source is not reentrant with many global variables > throughout. In addition, the parser is generated by flex which > can be made to generate reentrant code but is still not thread safe b/c > global variables are used. > > That being said, I experimented with the 7.0.2 source and came up with a > multithreaded backend for PGSQL which uses Solaris Threads. It seems to > work, but I drifted very far from the original source. I > had to hack flex to generate threadsafe code as well. I use it as a > linked library with my own fe<->be protocol. This ended up being much much > more than I bargained for and looking back would probably not have tried > had I known any better. > > > Myron Scott >
В списке pgsql-hackers по дате отправления: