src/winsup/cygwin ChangeLog include/cygwin/sig ...
Eric Blake
eblake@redhat.com
Sat Oct 27 12:24:00 GMT 2012
On 10/27/2012 04:25 AM, Corinna Vinschen wrote:
> On Oct 26 12:52, Eric Blake wrote:
>> On 10/26/2012 12:29 PM, Corinna Vinschen wrote:
>>> If there's no reason to keep space, I would opt for this implementation:
>>>
>>> #ifdef __x86_64__
>>> #define NSIG 65 /* signal 0 implied */
>>> #else
>>> #define NSIG 33 /* signal 0 implied */
>>> #endif
>>>
>>> /* Real-Time signals per SUSv3. RT_SIGMAX in limits.h has to agree. */
>>> #define SIGRTMIN 32
>>> #define SIGRTMAX (NSIG - 1)
>>>
>>> It's not dynamic, but it doesn't seem to make a lot of sense to make it
>>> dynamic. Even in the 32 bit case, if we change the number of available
>>> RT signals it can also occur together with the ABI change, so an old
>>> application would still have the old number of RT signals, despite any
>>> effort to make the number dynamic. Me thinks.
>>
>> Seems reasonable to me - if there is ever a new signal added, we'd also
>
> I don't quite understand. The joke here is that the above would NOT allow
> to add any further signal. Ever. Except for more RT signals in the 32
> bit case. What am I missing?
If we ever add a new signal, it would be an ABI change - code compiled
against old cygwin.dll would call into the old ABI, where there are 32
or 64 total signsl with 1 or 33 RT signals and no access to the new
signal; new code would call into the new ABI where there are 64 total
signals (even on 32-bit cygwin) and the new signal has been carved out
appropriately. That is, the cost of adding a new signal for 32-bit
cygwin is an ABI change, but if we do the ABI change, we can also do it
for 64-bit cygwin at the same time.
But I think this is theoretical - we are unlikely to add a new signal,
so go with the above definition without worrying about it.
--
Eric Blake eblake@redhat.com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 617 bytes
Desc: OpenPGP digital signature
URL: <http://cygwin.com/pipermail/cygwin-developers/attachments/20121027/835c1a3d/attachment.sig>
More information about the Cygwin-developers
mailing list