perl-embperl mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
Subject RE: 2.0.5_1 - Issue with %udat
Date Fri, 07 Sep 2012 11:15:53 GMT

%udat is read locked das soon as you access it and write locke das soon as you write any data
to it.

The lock is release at the end of the page.

There can be any number of reader, but only one writer.

So you should write to %udat as late as possible, to keep the lock time short.

How the lock is create depends on the locking module that is configured for Apache::Session.

For example the file lock has a lock per user, while the semaphore lock only has n lock semaphore
which are shared by all users, so two user might use the same semaphore and therefor lock
each other


> -----Original Message-----
> From: Jean-Christophe Boggio []
> Sent: Tuesday, September 04, 2012 1:16 AM
> To:
> Subject: 2.0.5_1 - Issue with %udat
> Hi,
> I'm experiencing something very strange, difficult to explain.
> I wrote an application where users can connect to LDAP servers (about each
> user connects to a different LDAP server) and execute a search.
> * If the ldap server answers, everything is ok.
> * If the search does not return, every user accessing %udat is hung. All pages
> that do not access %udat work normally.
> No message in apache logs. Restarting apache makes everything work again
> until someone searches on a "bad" LDAP server.
> I know the problem does not come from embperl itself : it's a low-level
> network issue. But I don't understand why our frontend application (that
> does not rely entirely on LDAP) is impacted this way : %udat accesses are like
> "locked" globally.
> Does this have to do with Apache::Session lock mechanism ? Could I relax it
> while doing my LDAP calls and re-lock immediately after ?
> I store things in %udat only after authentication. Could I globally disable
> session locking and enable it only when writing to %udat ?
> Thanks for your help,
> --
> Jean-Christophe Boggio                       -o)
>                       /\\
> Independant Consultant and Developer        _\_V
> ---------------------------------------------------------------------
> To unsubscribe, e-mail:
> For additional commands, e-mail:

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message