**** BEGIN LOGGING AT Mon Jun 20 02:59:57 2011 Jun 20 10:00:07 the g Jun 20 10:00:56 the g_idle_add functions which are extensively used while performing SIM IO is not wrking properly for me Jun 20 10:01:08 any suggestions Jun 20 10:18:40 What is the role of Modem Emulator ?? Jun 20 13:56:42 hi guys!! i am facing a little problem. the functions called by g_idle_add are being called with some delay while performing simio.I have no clue ?Any help??? Jun 20 13:57:55 they are supposed to be called with some delay? Jun 20 14:00:52 but they are called after like 5 mins delay.Is that possible Jun 20 14:02:51 but when i am running it on my PC with phonesim it is not taking any delay Jun 20 14:03:08 how old is your modem, are you querying the network in the meantime? Jun 20 14:05:18 the network notifications are regularly coming but I am not handling them in ofono Jun 20 14:05:27 driver right now Jun 20 14:06:34 I mean are you querying any settings at the network, like CLIR/CLIP/CCWA/CCFC Jun 20 14:07:00 And older modems take ages to read from the SIM, since oFono reads quite a few SIM files things do take a while Jun 20 14:07:00 no Jun 20 14:07:22 no i am getting the response from the sim right away Jun 20 14:07:27 Though I've never seen it take 5 minutes Jun 20 14:07:59 its only in ofono core that i am facing the problem Jun 20 14:08:17 doubtful if you have it working properly in phonesim Jun 20 14:08:42 the function scheduled to be called sim_fs_op_next is getting called after some delay Jun 20 14:08:59 so where could the problem lie Jun 20 14:10:05 can't really tell without a timestamped AT trace Jun 20 14:11:06 the response from the modem is already decoded by the driver code but then it doesnot proceed further Jun 20 14:12:14 like after getting the info of a specified file it takes ages to read the file Jun 20 14:12:43 Reading it from where? The disk cache or the SIM? Jun 20 14:13:00 from the sim Jun 20 14:13:23 Then what does oFono have to do with it? Jun 20 14:14:11 i am asking why are the g_idle_add funcs not called Jun 20 14:14:49 They are on every single hw I have tried ;) Jun 20 14:15:00 I suspect your modem is just too slow Jun 20 14:15:22 I can't really help you more without a detailed AT trace Jun 20 14:15:23 but i am getting the response from the modem Jun 20 14:15:57 one more query why g_timeout_add funcs were not used Jun 20 14:16:09 if i may ask Jun 20 14:16:11 :) Jun 20 14:16:14 where? Jun 20 14:16:26 in place of g_idle_add Jun 20 14:17:31 g_idle_add has the same effect as setting a 0 timeout Jun 20 14:17:38 so what exactly are you asking? Jun 20 14:18:30 ok sorry i thought g_idle_timeout funcs had better clarity Jun 20 14:18:38 control* Jun 20 14:19:19 If you're not doing anything evil with the event loop in your modem driver, then g_idle_add is just as good Jun 20 14:20:10 like what? Jun 20 14:20:37 the driver code has not much to do with the event loop i suppose Jun 20 14:21:11 I dunno, reading a 2 GB file in a timeout or something :P Jun 20 14:21:38 seriously, sim_fs* is not your problem, especially if it works on phonesim Jun 20 14:21:49 no man!! but as you said i will check my driver code and then get back to you Jun 20 14:22:01 thanks for your time :) Jun 20 14:26:40 hey one query can i check the no of pending events in the event loop ?? Jun 20 14:30:04 no idea Jun 20 14:30:40 neway thanks for ur time Jun 20 15:37:26 denkenz: Actually g_idle_add and g_timeout_add are different. Jun 20 15:37:53 g_idle_add will only be executed if no other IO functions are present. Jun 20 15:40:50 That makes no sense Jun 20 15:45:27 It makes sense, but in normal situation it makes no difference since IO is not under high load. Jun 20 15:46:01 No, the idle events are just lower priority, not that they're not executed Jun 20 15:47:22 They will be executed, but it can be delayed to last. Jun 20 15:47:29 Except you keep IO busy. Jun 20 15:47:37 timeouts should fire properly on time. Jun 20 15:48:14 If the GLIB event loop is like every other event loop, then I/O will simply delay the execution of idle events in that iteration of the loop Jun 20 15:48:38 That is what I am saying. That is why a timeout(0) is not the same as idle(). Jun 20 15:50:47 Not necessarily, I'm pretty sure both g_io_channel_add_watch and g_timeout_add uses PRIORITY_DEFAULT Jun 20 15:50:55 so its just luck what executes first Jun 20 15:51:09 unless glib uses some randomization internally Jun 20 16:02:58 GLib itself prioritizes timeouts over idles. Jun 20 16:03:56 sure, but using idle_add vs timeout_add doesn't really guarantee anything **** ENDING LOGGING AT Tue Jun 21 02:59:56 2011