[M3devel] cvsup and cm3 - minor problems Any help for Uexec_WNOHANG?

Jay jay.krell at cornell.edu
Mon Mar 16 08:56:08 CET 2009


[adding Carson this time]

Please build and ship m3core from current source.


 Specifically, m3core/src/unix/Common/Uconstants.c has:
 #define X(x) const int Uexec__##x = x;
 X(WNOHANG)

 it used to have just one underscore:

 #define X(x) const int Uexec_##x = x;
 X(WNOHANG)


 If it is really necessary, we could put both in for increased compat -- but in that case, might as well have left it with one underscore.


 As well, you can temporarily change it to whatever you find the value in /usr/include (1 on Linux/x86), or, depending on your code, 0 might be good.


 0 is good if the thread waiting on a process is meant to block until the child process exits. Use of nohang historically in the cm3 code is only for the benefit of user threads -- it is inefficient and imho not important.


 I can imagine an app where one thread polls multiple child processes though, which might require the nohang.


 (I really like the Windows model where process, files, sockets, threads...all are waiting with the same functions...)

> it's the 64 bit targets on Intel processors which are
> rather new and unpolished.


 If you have particulars, please let me know.
 I admit I'm not using them..I'm nervous as to what my electricity bill
 would be if I actually left everything powered on and running
 the Tinderbox..
 I know there is the thing..we should probe if /usr/lib64 exists
 and use if it so, else /usr/lib.


> This reminds me that we should add cvsup as a cm3 project and include


 Yes, anything you can add to the "std" package set, please do.


 - Jay
>
>
> ----------------------------------------
>> Date: Mon, 16 Mar 2009 07:47:09 +0100
>> From: wagner at elegosoft.com
>> To: m3devel at elegosoft.com; jay.krell at cornell.edu
>> Subject: Re: [M3devel] cvsup and cm3 - drama galore! Any help for Uexec_WNOHANG?
>>
>> Quoting Carson Gaspar :
>>
>>> I want to end up with a working cvsup for our RHEL5 U4 x86_64 servers (a
>>> working 32-bit binary is fine...).
>>>
>>> So I tried building cm3 and ran into problems trying to bootstrap. The
>>> list archives said "use newer source". So I tried. And the latest
>>> snapshots failed to build. I saw a message complaining about the
>>> regression (sadly sans solution), so I grabbed source from CVS as of Jan
>>> 31, 2009. That built!
>>>
>>> So now I try building cvsup. Then I apply the cm3 patch and try again.
>>> Then I manually hack "SchedulerPOSIX" to "Scheduler" and try again
>>> (thank my lucky stars for Google!). So now I _almost_ have it building,
>>> but it fails on FSServerU.m3, complaining about an undefined reference
>>> to Uexec_WNOHANG. And here I sit, stumped. I see a C sourse file
>>> Uconstants.c in the cm3 distribution that looks like it _ought_ to
>>> define it, but obviously something is unhappy...
>>>
>>> When was the last time somebody successfully built cvsup with cm3 on
>>> Linux? I'll gladly bootstrap from some known good point, but I'd rather
>>> avoid doing a binary search to find a working compiler...
>>
>> It's not Linux, it's the 64 bit targets on Intel processors which are
>> rather new and unpolished. I don't think the WNOHANG problem is due to
>> that, though; I rather think it may have been `optimized away' during
>> a perhaps too rigorous code clean-up recently.
>>
>> Jay, could it be that this constant is acceidently missing in newer
>> sources?
>>
>> This reminds me that we should add cvsup as a cm3 project and include
>> it in our regression tests. I'll try to do that some time soon.
>>
>> Don't panic; we'll be able to get cvsup to compile ;-)
>>
>> Regards,
>>
>> Olaf
>> --
>> Olaf Wagner -- elego Software Solutions GmbH
>> Gustav-Meyer-Allee 25 / Gebäude 12, 13355 Berlin, Germany
>> phone: +49 30 23 45 86 96 mobile: +49 177 2345 869 fax: +49 30 23 45 86 95
>> http://www.elegosoft.com | Geschäftsführer: Olaf Wagner | Sitz: Berlin
>> Handelregister: Amtsgericht Charlottenburg HRB 77719 | USt-IdNr: DE163214194
>>


More information about the M3devel mailing list