lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Sun, 14 Jan 2024 21:20:59 -0500
From: Alan Stern <stern@...land.harvard.edu>
To: Bagas Sanjaya <bagasdotme@...il.com>
Cc: "Dr. Henning Kopp" <hkopp22@...oo.de>,
  Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
  Linux Power Management <linux-pm@...r.kernel.org>,
  Ulf Hansson <ulf.hansson@...aro.org>,
  "Rafael J . Wysocki" <rafael@...nel.org>,
  Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
  Viresh Kumar <viresh.kumar@...aro.org>,
  Thomas Gleixner <tglx@...utronix.de>, Ingo Molnar <mingo@...nel.org>
Subject: Re: Why does Linux not implement pthread_suspend() and
 pthread_resume()?

On Sun, Jan 14, 2024 at 09:10:29PM +0700, Bagas Sanjaya wrote:
> [also Cc: linux-pm people]
> 
> On Sun, Jan 14, 2024 at 12:20:04PM +0100, Dr. Henning Kopp wrote:
> > Hi everyone,
> > 
> > I have a question regarding pthreads. In particular, I was wondering why
> > there is no way to suspend and resume a thread in Linux.
> > 
> > In Windows, there is SuspendThread() and ResumeThread() from
> > processthreadsapi.h. However in Linux, there does not seem to be a similar
> > function in pthread.h.
> > 
> > When researching this issue i found multiple ways to work around the
> > inability of suspending a thread, such as using mutexes. But my question is
> > why nobody bothered implementing suspending/resuming threads.
> > 
> > I found one answer on stackoverflow [1] that mentions that pthread_suspend
> > and pthread_resume_np is in the "Unix specification", but not implemented in
> > Linux. I tried to follow up on this hint and get access to the Posix spec,
> > but i am not affiliated with a university anymore, so i was unable to
> > download the spec.
> > 
> > I read "man 7 pthreads". It mentions that there are two Linux
> > implementations of Posix threads, that differ in some details from the Posix
> > spec. However, it does not mention suspending or resuming threads at all.
> 
> LinuxThreads and NPTL?
> 
> > 
> > I hope this is the right mailing list for my question. If it is off-topic,
> > please accept my apologies.
> > 
> > So my question is: What is the reason that Linux does not implement
> > functions for suspending and resuming threads?
> > 
> 
> Confused...

These are indeed the wrong mailing lists (and people) for this question.  
These lists are dedicated to discussions about the Linux kernel.  But 
pthreads is a userspace library; it runs in user mode and is not part of 
the kernel at all.

The best approach would be to find the group responsible for writing and 
maintaining the Linux pthreads implementation (probably some subgroup 
of the people working on the GNU C library), and ask them.

Sorry I can't be of any more help.

Alan Stern


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ