| Summary: | xdiskusage is broken, workaround found | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | Ports & Packages | Reporter: | Nate Eldredge <nge+freebsd> | ||||||
| Component: | Individual Port(s) | Assignee: | Anders Nordby <anders> | ||||||
| Status: | Closed FIXED | ||||||||
| Severity: | Affects Only Me | CC: | trevor | ||||||
| Priority: | Normal | ||||||||
| Version: | Latest | ||||||||
| Hardware: | Any | ||||||||
| OS: | Any | ||||||||
| Attachments: |
|
||||||||
|
Description
Nate Eldredge
2004-06-22 10:00:33 UTC
Ah. Figured it out. Not a bug in fltk, it seems. fltk can optionally be compiled with threads enabled. If you disable fltk's threads, xdiskusage works as is. If you have threads enabled for fltk, you must compile xdiskusage with -pthread (or probably at least -lc_r or -DREENTRANT). Otherwise xdiskusage uses the ordinary stdio calls from libc and it doesn't correctly interact with the locking that's being done by fltk's threading stuff, resulting in a hang. I'll leave it to you to figure out the best way of implementing this in the makefile... Thanks! -- Nate Eldredge nge@cs.hmc.edu Oh, and incidentally, xdiskusage is now at version 1.47. -- Nate Eldredge nge@cs.hmc.edu Responsible Changed From-To: freebsd-ports-bugs->trevor Over to maintainer. Hi Anders, it appears you are the new maintainer for xdiskusage, so you might want to have a look at this PR 68194. It still applies to xdiskusage 1.47. It's the original reason the port was scheduled to expire. Looks like it doesn't happen for you (since you un-expired it with the comment "this port works"); maybe you don't have fltk compiled with threads. Anyway, as I mention, I know the fix but not the best way to implement it. Just thought I'd bring it to your attention. Thanks for picking up xdiskusage, it's a very useful tool. -- Nate Eldredge nge@cs.hmc.edu Responsible Changed From-To: trevor->anders Reassign to new volunteer maintainer. Hi, How about you try the attached patch. I added a knob for adding threads support to the xdiskusage port. If you have a threaded fltk library, xdiskusage should be threaded too. At least, that way your problem does not occur. Cheers, -- Anders. State Changed From-To: open->closed I have added a knob/option to support threaded fltk library. |