patches for Sun Forte 7/8 compilers

Stefan Teleman steleman at nyc.rr.com
Mon Nov 3 18:36:10 GMT 2003


About FD_SETSIZE:

By default, SunOS has an extremely low opened file descriptors limit 
per process -- only 256 -- this is due to a very old implementation 
of their standard C library. The only way of overriding this limit is 
to unset and reset FD_SETSIZE explicitly, and this has be done 
explicitly in a translation unit, before including any header files.
There is no system header which defines FD_SETSIZE, it's a builtin. 
Its only purpose is to override the 256 fd limit, and this was not 
even possible before SunOS 5.8. So, that's the reason for it. If they 
are not necessary everywhere, they can be removed from where they are 
not useful, but i thought only 256 fd's per process is much too low.

About KSignal: on SunOS the ::signal(3C) interface is a wrapper around 
the sigaction(2) interface. They very stronly recommend that all 
signal-related interfaces be migrated to the SVR4-compliant sigaction 
api, in favor of using the old signal(3C) interface which is a 
BSD-ish thing.

About the patches/fixes overrides: these are the patches i applied to 
3.1.3 -- maybe the fixes were applied after that (? -- i really don't 
know) -- this is the source i downloaded back in August.

--Stefan

-----

On Monday 03 November 2003 13:17, David Faure wrote:
> On Monday 03 November 2003 17:44, Stefan Teleman wrote:
> > Hi!
> >
> > David Faure was kind enough to post the patches for SunOS/Sun
> > Forte 7/8 compilers at
> >
> > http://www.blackie.dk/~dfaure/solaris/
>
> And now kdebase and kdenetwork added.
>
> What's with signal(), why was it replaced with KSignal everywhere?
> Is there really no system header that defines FD_SETSIZE?
> Why does it need the setrlimit? (what's the default amount of
> simultaneous files on Solaris?) Are you sure that e.g. kfmclient
> needs this too? I doubt it, since kfmclient has a very short
> lifetime. Same with ktelnetservice, etc. etc.
> If all apps really need something to be done, the best place would
> be KApplication, not each and every main().
>
> Warning: some of your patches actually revert some bugfixes that
> were made in CVS. It looks like you did a diff against an updated
> tree.... For instance:
> -      kapp->dcopClient()->call( "kded", "kcookiejar",
> "deleteCookiesFromDomain(QString)", params, replyType, replyData);
> +      kapp->dcopClient()->call( "kded", "kcookiejar",
> "deleteCookiesFromDomain", params, replyType, replyData); The first
> one was correct.
> This is just a warning in case anyone starts to blindly apply those
> patches :)

-- 
Stefan Teleman          'Nobody Expects the Spanish Inquisition'
steleman at nyc.rr.com                          -Monty Python





More information about the kde-core-devel mailing list