Trådat bibliotek
G Hasse
gorhas at raditex.se
Thu Apr 17 23:27:29 CEST 2008
Hej!
Det här är väl inte mer BSD relaterat än att man
skulle kunna välja mellan -lc_r eller -pthreads
(Men det är ju så låg aktivitet här - så jag känner att
jag måste aktivera er!).
Jag funderar på föjande design:
Ett huvudprogram öppnar en .so fil och
annropar lib_init. Här sänder man med en
address till ett callback. En massa trådar skapas i
biblioteket.
När bibliotket har något att berätta så hoppar
man till callbacken i Main för att skriva i
någon buffert som Main programmet håller.
Main programmet är också trådat.
Main programmet känner altså inte till lib:ets trådar.
Vad finns för fällor?
+----------------------+
| |
| Main prog |
| |
| callback() |
| ld_open("XX.so") |
| lib_init( callback) |
+----------------------+
+-------XX.so ----------+
| lib_init( callback ) |
| start local trds |
| lib_close() |
| stop and join trd's |
| |
+-----------------------+
--
Göran Hasse
----------------------------------------------------------------
Göran Hasse email: gorhas at raditex.se Tel: 08-6949270
Raditex AB http://www.raditex.se
Planiavägen 15, 1tr Mob: 070-5530148
131 34 NACKA, SWEDEN OrgNr: 556240-0589
VAT: SE556240058901
------------------------------------------------------------------
More information about the BUS
mailing list