Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Message-ID: <20041001071319.80527.qmail@web60304.mail.yahoo.com> Date: Fri, 1 Oct 2004 00:13:19 -0700 (PDT) From: Patrick Samson Subject: Re: Cygserver 100% CPU (was: References to both cygwin1.dll and msvcrt.dl To: cygwin AT cygwin DOT com In-Reply-To: <20041001064108.14149.qmail@web60309.mail.yahoo.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-IsSubscribed: yes --- Patrick Samson wrote: > With the third condition (pgAdmin) everything was > fine the whole night. And there is only 4 > "good night!" messages in the middle of the night. > I guess this is because of one of the cron tasks > scheduled around 3AM to do maintenance tasks such > as VACUUM, pg_dumpall and a diff between replicated > DBs. These are also 4 "good morning" with error=0. > > Now, when it's wrong, I can see: > good morning (error=4)! > Error 4 is EINTR on the return of msleep(). > Subsequently semop() returns with this EINTR. > > Does it mean that the caller doesn't support > correctly this interrupted call to semop()? > Back to source... The caller code seems to be: /* * Note: if errStatus is -1 and errno == EINTR then it means we * returned from the operation prematurely because we were sent a * signal. So we try and lock the semaphore again. */ do { errStatus = semop(sema->semId, &sops, 1); } while (errStatus < 0 && errno == EINTR); I don't understand. If semop() returns EINTR (value 4) how can it be detected by the 'while'? __________________________________ Do you Yahoo!? New and Improved Yahoo! Mail - Send 10MB messages! http://promotions.yahoo.com/new_mail -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/