From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 27418 invoked by alias); 28 Feb 2014 07:38:42 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Received: (qmail 27385 invoked by uid 48); 28 Feb 2014 07:38:38 -0000 From: "m at matthewlai dot ca" To: gcc-bugs@gcc.gnu.org Subject: [Bug libstdc++/58038] std::this_thread::sleep_until can cause inifinite sleep Date: Fri, 28 Feb 2014 07:38:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: libstdc++ X-Bugzilla-Version: 4.7.2 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: m at matthewlai dot ca X-Bugzilla-Status: ASSIGNED X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: redi at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: cc Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-SW-Source: 2014-02/txt/msg02831.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58038 Matthew Lai changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |m at matthewlai dot ca --- Comment #7 from Matthew Lai --- I also encountered this bug trying to use std::this_thread::sleep_until() for video frame spacing (so the sleeps are very short, and sometimes become negative). Without this fix there is no way to safely use std::this_thread::sleep_until(), because even if the caller checks for negative sleep durations, there is always the chance that the thread gets preempted after entering the function, and before it checks the current time. Theoretically speaking any amount of time can elapse between those 2 points.