RE: 1.5.14-1 cygwin1.dll could not be found

2005-04-17 Thread Dave Korn
Original Message
From: Igor Pechtchanski
Sent: 15 April 2005 19:42

 On Fri, 15 Apr 2005, Dave Korn wrote:
 
 5)  Do I really need to worry about putting return statements after
 calling LogSingleton::GetInstance().exit (1); ?  There was a reference
 in there to some kind of 'issue' with ::exit, but I haven't yet done an
 archive search to try and understand what's going on - does anyone
 remember? 
 
 IIRC, gcc needs to know that the exit() function never returns.  It does
 know for ::exit() (because there's an appropriate attribute on it), but it
 doesn't for LogSingleton::exit(), and so will complain that the functions
 are missing a return statement.  So you need to put those in to quell the
 warnings.
   Igor


  Ok, that means I can throw away the early-exit indication code.  I'd have
used 'abort' or 'exit' calls rather than return, myself; it makes it clear
to both compiler and user that a noreturn function has been called.  That
simplifies the patch nicely.

  Meantime I just found a rather evil bug that needs patching.  More later.



cheers,
  DaveK
-- 
Can't think of a witty .sigline today



RE: 1.5.14-1 cygwin1.dll could not be found

2005-04-15 Thread Dave Korn
Original Message
From: Dave Korn
Sent: 07 April 2005 20:07

[Thread properly TITTAL'd, to coin a phrase]

   Well, I have a crude patch going, and it's that time of night that I'm
 leaving the office and going home now[*], so here's what I've done so far,
 just in case anyone else wants to have a go and see if it works for them.

  Here's rev.1 of that patch.  I've avoided all the code duplication from
the cut-n-paste-coding of the previous patch by factoring out the repeated
bits into subroutines (and indeed by removing some slightly pointless
constructs like that int e = 0; e += thing that was going on in the
trycatch clauses.  I've also removed the message boxes that I put in for
debugging.

  The following points however remain:

 3)  There's no changelog entry!
 
 4)  I'm not sure how correct it is!  For instance, do I need to worry
 about whether the cygwin package is going to be an
 uninstall-and-reinstall or a replace-in-place?

  To which I may as well add:

5)  Do I really need to worry about putting return statements after calling
LogSingleton::GetInstance().exit (1); ?  There was a reference in there to
some kind of 'issue' with ::exit, but I haven't yet done an archive search
to try and understand what's going on - does anyone remember?

  I'm not so worried about 4) now.  There's nothing innate to stop a package
from being processed first by the uninstall, then by the replace-in-place
loop, and if the uninstall affected the flags in the packagemeta in such a
way that they passed the test (which I have now moved into
upgrade_if_needed), then it would indeed be first uninstalled and then
replaced in place.  However that's the way its always worked; I assume it is
implicitly protected against this by the behaviour of the various
pkg.installed and pkg.desired flags.

  Anyway it seems to do the job reasonable well, so if nobody has offered me
any of the requested-for comments by Monday a.m., I'll call it finalised and
resubmit it with a changelog entry.


cheers,
  DaveK
-- 
Can't think of a witty .sigline today


setup-save-cygdll-til-last-patch.diff
Description: Binary data


RE: 1.5.14-1 cygwin1.dll could not be found

2005-04-15 Thread Igor Pechtchanski
On Fri, 15 Apr 2005, Dave Korn wrote:

 5)  Do I really need to worry about putting return statements after calling
 LogSingleton::GetInstance().exit (1); ?  There was a reference in there to
 some kind of 'issue' with ::exit, but I haven't yet done an archive search
 to try and understand what's going on - does anyone remember?

IIRC, gcc needs to know that the exit() function never returns.  It does
know for ::exit() (because there's an appropriate attribute on it), but it
doesn't for LogSingleton::exit(), and so will complain that the functions
are missing a return statement.  So you need to put those in to quell the
warnings.
Igor
-- 
http://cs.nyu.edu/~pechtcha/
  |\  _,,,---,,_[EMAIL PROTECTED]
ZZZzz /,`.-'`'-.  ;-;;,_[EMAIL PROTECTED]
 |,4-  ) )-,_. ,\ (  `'-'   Igor Pechtchanski, Ph.D.
'---''(_/--'  `-'\_) fL a.k.a JaguaR-R-R-r-r-r-.-.-.  Meow!

The Sun will pass between the Earth and the Moon tonight for a total
Lunar eclipse... -- WCBS Radio Newsbrief, Oct 27 2004, 12:01 pm EDT