Opened 5 years ago

Closed 5 years ago

Last modified 5 years ago

#5992 closed defect (fixed)

The command "drm4g stop" doesn't work sometimes

Reported by: minondoa Owned by: minondoa
Priority: major Milestone: DRM4G-2.6.2
Component: DRM4G Keywords: drm4g, stop
Cc: carlos

Description

Under certain circumstances when trying to stop the program, it will show the "Stopping DRM4G .... " message but it won't really manage to kill the process.

Attachments (1)

images (4).jpg (5.6 KB) - added by merrychris302 7 years ago.

Download all attachments as: .zip

Change History (8)

Changed 7 years ago by merrychris302

comment:1 Changed 5 years ago by minondoa

  • Milestone set to DRM4G VO management

comment:2 Changed 5 years ago by minondoa

  • Milestone changed from DRM4G_VO_management to DRM4G_VO

Milestone renamed

comment:3 Changed 5 years ago by minondoa

  • Milestone changed from DRM4G_VO to DRM4G-2.6.1

A new branch will be created to fix this issue, along with #5964.

comment:4 Changed 5 years ago by minondoa

  • Milestone changed from DRM4G-2.6.1 to DRM4G-2.6.2

comment:5 Changed 5 years ago by minondoa

  • Resolution set to fixed
  • Status changed from new to closed

comment:6 follow-up: Changed 5 years ago by minondoa

Right now,the "os" module is being used in the "drm4g.commands" package to kill the process.
If it is later discovered that the problem persists, changing the signal used from "signal.SIGTERM" to "signal.SIGKILL" should be tried.

os.kill( int(pid), signal.SIGKILL )

comment:7 in reply to: ↑ 6 Changed 5 years ago by minondoa

Replying to minondoa:

Right now,the "os" module is being used in the "drm4g.commands" package to kill the process.
If it is later discovered that the problem persists, changing the signal used from "signal.SIGTERM" to "signal.SIGKILL" should be tried.

os.kill( int(pid), signal.SIGKILL )

This last change caused the DRM4G to be unable to kill all of its child processes, so the scheduler was left alive indefinitely. Using signal.SIGKILL didn't solve the issue either.
It has now been modified and fixed. All of the parent and child processes are now listed and killed.

Note: See TracTickets for help on using tickets.