Lisp HUG Maillist Archive

sql calls and blocking

I'm using LW 4.2.6 on Linux, and have noticed that sql calls block
my process - no scheduling takes place before the sql calls
returns. Not very surprising when doing FFI - but is there a
simple way to avoid it? (I'm thinking of writing an extra server
layer between my server and my database, but for all I know there 
could be simpler ways...)
-- 
  (espen)


sql calls and blocking

>>>>> Espen Vestre writes:

Espen> I'm using LW 4.2.6 on Linux, and have noticed that sql calls block
Espen> my process - no scheduling takes place before the sql calls
Espen> returns. Not very surprising when doing FFI - but is there a
Espen> simple way to avoid it? (I'm thinking of writing an extra server
Espen> layer between my server and my database, but for all I know there 
Espen> could be simpler ways...)

I've been fighting this problem for nearly two years.  

Does anybody know if one could write a specialized version
of unixODBC which advertises which socket (fd) is being used
to communicate to the back end, so that this socket included
in the lisp scheduler's list of noticed fds?  Would that work?

Would one also have to re-write the unixODBC driver to not do
any blocking calls in this case?  (i.e. check for EWOULDBLOCK)?



--
			Alain Picard
			Memetrics


Re: sql calls and blocking

Alain Picard <Alain.Picard@memetrics.com> writes:

> I've been fighting this problem for nearly two years.  
> 
> Does anybody know if one could write a specialized version
> of unixODBC which advertises which socket (fd) is being used

fyi: I'm using the oracle libraries, not odbc

-- 
  (espen)


Updated at: 2020-12-10 09:01 UTC