I looked at http://www2.research.att.com/sw/download/man/man3/aso.html
Is this code correct to obtain a critical lock, and release it? int a_lock; /* lock mutex "a_lock" */ (void)asolock(&a_lock, 12345, ASO_LOCK); do something here; /* unlock mutex "a_lock" */ (void)asolock(&a_lock, 12345, ASO_UNLOCK); Olga PS: aso does not have real reader/writer locks, does it? On Thu, Aug 16, 2012 at 5:31 PM, Glenn Fowler <g...@research.att.com> wrote: > > aso(3) man page is on line > > On Thu, 16 Aug 2012 16:21:52 +0200 =?KOI8-R?B?z8zYx8Egy9LZ1sHOz9fTy8HR?= > wrote: >> Phong, how do I use aso to get an exclusive lock/mutex, and release >> it? Can a aso lock/mutex be nested? > >> Olga > >> On Thu, Aug 16, 2012 at 4:16 PM, Glenn Fowler <g...@research.att.com> wrote: >> > >> > any locking/critical regions will have to use aso >> > because libast itself does not require -l*thread* >> > >> > On Thu, 16 Aug 2012 16:11:16 +0200 =?KOI8-R?B?z8zYx8Egy9LZ1sHOz9fTy8HR?= >> > wrote: >> >> Glenn, is the general plan of putting a openat() emulation into libast >> >> acceptable for you? I found that Roland wrote one in 2004 with threads >> >> in mind, and that it only needs polishing and testing. If you agree to >> >> take it I can spend some time this evening on it. >> > >> >> Olga >> > >> >> On Thu, Aug 16, 2012 at 1:20 AM, Glenn Fowler <g...@research.att.com> >> >> wrote: >> >> > >> >> > On Thu, 16 Aug 2012 01:09:29 +0200 >> >> > =?KOI8-R?B?z8zYx8Egy9LZ1sHOz9fTy8HR?= wrote: >> >> >> Glenn, have you ever considered putting an openat(), fstatat(), >> >> >> mkfifoat() emulation into libast, if the base operating system does >> >> >> not have such calls? I have been trying more tests with the at() apis >> >> >> but I am not happy to trash much of libshell with lots of #ifdef >> >> >> AT_CWD tests if there is a better option. >> >> > >> >> >> AFAIK a lot of the at() calls can be emulated by using >> >> >> /dev/fd/${dirfd}/${path} or /proc/${pid}/fd/${dirfd}/${path}. I just >> >> >> do not know, are there cases where /dev/fd or /proc/${pid}/fd are not >> >> >> available (chroot environments?)? >> >> > >> >> > there are a lot of systems with lame or no /proc >> >> > and it will be hard to work around systems with no O_search >> >> > >> >> > but let me think a bit on that >> >> > if we didn't have to worry about dir fd's across exec (probably rare >> >> > right now) >> >> > we might be able to cache emulated open(O_search) paths with <dev,ino> >> >> > keys >> >> > on systems that don't support /dev/fd/<FD>/<PATH> pr >> >> > /proc/<PID>/fd/<FD>/<PATH> >> >> >> Olga >> >> >> -- >> >> >> , _ _ , >> >> >> { \/`o;====- Olga Kryzhanovska -====;o`\/ } >> >> >> .----'-/`-/ olga.kryzhanov...@gmail.com \-`\-'----. >> >> >> `'-..-| / http://twitter.com/fleyta \ |-..-'` >> >> >> /\/\ Solaris/BSD//C/C++ programmer /\/\ >> >> >> `--` `--` >> >> > >> > >> >> -- >> >> , _ _ , >> >> { \/`o;====- Olga Kryzhanovska -====;o`\/ } >> >> .----'-/`-/ olga.kryzhanov...@gmail.com \-`\-'----. >> >> `'-..-| / http://twitter.com/fleyta \ |-..-'` >> >> /\/\ Solaris/BSD//C/C++ programmer /\/\ >> >> `--` `--` >> > > >> -- >> , _ _ , >> { \/`o;====- Olga Kryzhanovska -====;o`\/ } >> .----'-/`-/ olga.kryzhanov...@gmail.com \-`\-'----. >> `'-..-| / http://twitter.com/fleyta \ |-..-'` >> /\/\ Solaris/BSD//C/C++ programmer /\/\ >> `--` `--` > > ., -- , _ _ , { \/`o;====- Olga Kryzhanovska -====;o`\/ } .----'-/`-/ olga.kryzhanov...@gmail.com \-`\-'----. `'-..-| / http://twitter.com/fleyta \ |-..-'` /\/\ Solaris/BSD//C/C++ programmer /\/\ `--` `--` _______________________________________________ ast-developers mailing list ast-developers@research.att.com https://mailman.research.att.com/mailman/listinfo/ast-developers