I belatedly took a look at this proposed change. The added file backtrace.cc doesn't include a license. If it's code that you copied from the internet, then you can't just add a license statement on your own, you have to obey the original (probably also unspecified) license.
If readlink truncates, it won't work. If gdb isn't installed (i.e., all non-developer machines), this code doesn't provide a backtrace. It looks superficially like SIGUSR1 will only work once, as the signal is ignored. You're calling lots of stuff from a signal. Strictly speaking, almost nothing in POSIX is reentrant in this way. Lots of programs violate this requirement, but that's really a lousy to write new code that does it. (a complete list of functions that are callable from signal handlers is part way down this page: http://pubs.opengroup.org/onlinepubs/009695399/functions/xsh_chap02_04.html#tag_02_04 readlink, fprintf, and who knows what all that is called indirectly from emcOperatorError are not permitted) Ignoring that list for a moment, you also don't save and restore errno, but you do call things like fork() and readlink() that can change errno. Jeff ------------------------------------------------------------------------------ Ridiculously easy VDI. With Citrix VDI-in-a-Box, you don't need a complex infrastructure or vast IT resources to deliver seamless, secure access to virtual desktops. With this all-in-one solution, easily deploy virtual desktops for less than the cost of PCs and save 60% on VDI infrastructure costs. Try it free! http://p.sf.net/sfu/Citrix-VDIinabox _______________________________________________ Emc-developers mailing list Emc-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-developers