[問題] 在不同process間使用callback function
看板C_and_CPP (C/C++)作者sawang (Keinohrhasen)時間14年前 (2011/12/28 18:19)推噓2(2推 0噓 10→)留言12則, 4人參與討論串1/3 (看更多)
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
C and Linux
問題(Question):
各位先進好,想請問以下情境是否能夠達成。
現有三個獨立的 process A & B & C
A 向 C 註冊一個 callback function 名為 foo()
B 向 C 註冊一個 callback function 名為 bar()
Callback function prototype:
void (*cbfn)(int a, struct my_struct *b);
C 在條件1發生後會執行 foo()
C 在條件2發生後會執行 bar()
不知道上述的情境是否能達成?
如果可行的話,煩請先進指點迷津。
補充說明(Supplement):
我知道 A,B 與 C 有各自的 address space,
正常來說 C 是沒辦法執行 A,B 的 function,
曾經想過利用 signal 或 IPC 機制來達成這樣的效果,
不過似乎這樣又不需要「註冊函數」這個動作,
而且傳遞參數上面也有問題,
在小弟有限知識下實在是想不出要怎麼解決,
網路上 Google 到的資訊也是同一隻 process 內的 callback (利用函數指標),
希望有先進可以幫忙解惑。先行感謝。:-)
--
Zeit ist Geld = 時は金なり = Time is money
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.120.184.171
推
12/28 18:44, , 1F
12/28 18:44, 1F
→
12/28 22:07, , 2F
12/28 22:07, 2F
→
12/28 22:08, , 3F
12/28 22:08, 3F
→
12/29 11:01, , 4F
12/29 11:01, 4F
→
12/29 20:21, , 5F
12/29 20:21, 5F
推
12/29 23:32, , 6F
12/29 23:32, 6F
→
12/29 23:34, , 7F
12/29 23:34, 7F
→
12/30 11:35, , 8F
12/30 11:35, 8F
→
12/30 11:36, , 9F
12/30 11:36, 9F
→
12/30 11:37, , 10F
12/30 11:37, 10F
→
12/30 11:40, , 11F
12/30 11:40, 11F
→
12/30 11:41, , 12F
12/30 11:41, 12F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 3 篇):
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章