View Single Post
Old 06-17-2015, 02:08 AM   #56
chrisridd
Guru
chrisridd ought to be getting tired of karma fortunes by now.chrisridd ought to be getting tired of karma fortunes by now.chrisridd ought to be getting tired of karma fortunes by now.chrisridd ought to be getting tired of karma fortunes by now.chrisridd ought to be getting tired of karma fortunes by now.chrisridd ought to be getting tired of karma fortunes by now.chrisridd ought to be getting tired of karma fortunes by now.chrisridd ought to be getting tired of karma fortunes by now.chrisridd ought to be getting tired of karma fortunes by now.chrisridd ought to be getting tired of karma fortunes by now.chrisridd ought to be getting tired of karma fortunes by now.
 
chrisridd's Avatar
 
Posts: 983
Karma: 2209358
Join Date: Nov 2011
Location: London, UK
Device: Kobo Aura, Kobo Aura ONE, PocketBook InkPad Color 3
The strace is interesting.

It would be useful to see it with timestamps on each line, but I think you're right that there is some other process doing the parsing - you can see (I think) nickel apparently handing over the filename and required parser on fd 26, and then waiting to read results back.

Code:
[pid  1216] writev(26, [{"l\1\0\1\32\0\0\0\177\0\0\0\177\0\0\0\1\1o\0\25\0\0\0/org/fre"..., 144}, {"\25\0\0\0com.kobo.adobe.Parser\0", 26}], 2) = 170
[pid  1216] gettimeofday({1434473391, 282060}, NULL) = 0
[pid  1216] poll([{fd=26, events=POLLIN}], 1, 25000) = 1 ([{fd=26, revents=POLLIN}])
[pid  1216] read(26, "l\2\1\1\0\0\0\0N\0\0\0005\0\0\0\6\1s\0\4\0\0\0:1.0\0\0\0\0"..., 2048) = 161
[pid  1216] read(26, 0x302ec648, 2048)  = -1 EAGAIN (Resource temporarily unavailable)
[pid  1216] writev(26, [{"l\1\1\1\210\0\0\0\200\0\0\0\177\0\0\0\1\1o\0\25\0\0\0/org/fre"..., 144}, {"\203\0\0\0type='signal',sender='org.fr"..., 136}], 2) = 280
[pid  1216] writev(26, [{"l\1\0\1,\0\0\0\201\0\0\0w\0\0\0\1\1o\0\1\0\0\0/\0\0\0\0\0\0\0"..., 136}, {"'\0\0\0file:///mnt/onboard/NEWBOOKS"..., 44}], 2) = 180
[pid  1216] gettimeofday({1434473391, 287120}, NULL) = 0
[pid  1216] poll([{fd=26, events=POLLIN}], 1, 25000) = 1 ([{fd=26, revents=POLLIN}])
[pid  1216] read(26, "l\2\1\1\0\0\0\0P\0\0\0005\0\0\0\6\1s\0\4\0\0\0:1.0\0\0\0\0"..., 2048) = 72
A little after all this the KoboReader.sqlite database is opened and updated. It seems to use a journal file.

One of the strings starts "free" - I wonder if that is "freedesktop", and I wonder if a Qt mechanism is being used.
chrisridd is offline   Reply With Quote