Closed Bug 134570 Opened 22 years ago Closed 22 years ago

Print-to-file not working with threaded XprintUtil

Categories

(Core Graveyard :: Printing: Xprint, defect, P1)

Sun
Solaris
defect

Tracking

(Not tracked)

RESOLVED FIXED
mozilla1.0

People

(Reporter: roland.mainz, Assigned: roland.mainz)

Details

Attachments

(1 file, 1 obsolete file)

It looks that there is a weired problem when the following conditions are all
true:
- Destination is a file (print-to-file)
- Threaded version of XprintUtil is used (non-threaded codepath works)
- Xprt is running on a Linux x86 (little endian) box
- Client is on a Solaris/SPARC machine

Weired...
Swapping QA<-->Owner...
Assignee: katakai → Roland.Mainz
QA Contact: Roland.Mainz → katakai
Severity: normal → blocker
Status: NEW → ASSIGNED
Priority: -- → P1
Target Milestone: --- → mozilla1.0
Attached patch Patch for 2002-03-26-08-trunk (obsolete) — Splinter Review
Keywords: patch, review
Requesting r=/sr=/a= ...
Attachment #76975 - Attachment is obsolete: true
Comment on attachment 77197 [details] [diff] [review]
Better patch for 2002-03-31-08-trunk per katakai's comments

r=biesi
Attachment #77197 - Flags: review+
Comment on attachment 77197 [details] [diff] [review]
Better patch for 2002-03-31-08-trunk per katakai's comments

sr=attinasi - thy patch it is fine. Is there a code patch to remove (for the
threaded case) or is it just the define?
Attachment #77197 - Flags: superreview+
Marc Attinasi wrote:
> (From update of attachment 77197 [details] [diff] [review])
> sr=attinasi - thy patch it is fine.

Thanks!

> Is there a code patch to remove (for the
> threaded case) or is it just the define?

No, I'd like to keep the threaded version of the code around. I assume we simply
miss a XInitThreads() to initalise the per-display locking system in the libX11
library (this issue looks pretty much like a race-condition in the libX11
internal structures) - however there are two problems:
1. XInitThreads() must be called before any other libX11 calls are made -
therefore the GDK/GTK+ libraries should be responsible to call this function
(but I assume it is safe to call XInitThreads() multiple times, 1st one
initalises the locking system, further calls are NOPs - therefore I assume we
could stick it somewhere early in the code on our side on demand (but not in the
Xprint module since libX11 calls have been made before the module is loaded))
2. XInitThreads() is broken in Solaris 2.7 and causes the application to hang. I
have to wait for a fix from Sun until I can do further investigations on all
platforms... ;-(
Comment on attachment 77197 [details] [diff] [review]
Better patch for 2002-03-31-08-trunk per katakai's comments

a=asa (on behalf of drivers) for checkin to the 1.0 trunk
Attachment #77197 - Flags: approval+
Checked in 04/04/2002 03:29
Status: ASSIGNED → RESOLVED
Closed: 22 years ago
Resolution: --- → FIXED
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: