Some applications making heavy use networking make extensive use of light weight threads instead, thus allowing blocking streams. This is more common on platforms that either don't support fork() well... Unfortunately, many socket libraries are not thread safe, meaning a total switch would likely break more platforms than it could fix, and possibly require semaphores or other locking method around some calls as a kludge for those with poor thread support in their libraries...
-----Original Message----- From: owner-bird-users@atrey.karlin.mff.cuni.cz [mailto:owner-bird- users@atrey.karlin.mff.cuni.cz] On Behalf Of Martin Mares Sent: Monday, May 15, 2006 4:25 AM To: Aditya Veer Singh Cc: bird-users@network.cz Subject: Re: porting bird to ecos
Hi!
Thanks there seems problem with fcntl fcntl(fd, F_SETFL, O_NONBLOCK) is not supported in the OS being used for arguments F_SETFL and O_NONBLOCK.
Is there any other the functionality required by BIRD can be achived without the above call? I tried 'setsockopt' but it also didn't worked.
Is there any way by which making the socket as non-blocking can be avoided and still BIRD works for BSD tcp/ip stack.
Sorry, but non-blocking sockets are vital in BIRD and very likely in any other application using networking heavily.
Have a nice fortnight -- Martin `MJ' Mares <mj@ucw.cz> http://atrey.karlin.mff.cuni.cz/~mj/ Faculty of Math and Physics, Charles University, Prague, Czech Rep., Earth Why is "abbreviation" such a long word?