這個錯誤的發生原因是:
有兩個地方對同一個gpio進行了操作,尤其是將gpio修改爲edge模式的那個gpio,和其他模式的gpio產生了衝突;
問題的函數調用鏈:
gpio_edge_store()
gpio_setup_irq()
request_any_context_irq()
request_threaded_irq()
__setup_irq()
__irq_set_trigger()
這個錯誤的發生原因是:
有兩個地方對同一個gpio進行了操作,尤其是將gpio修改爲edge模式的那個gpio,和其他模式的gpio產生了衝突;
問題的函數調用鏈:
gpio_edge_store()
gpio_setup_irq()
request_any_context_irq()
request_threaded_irq()
__setup_irq()
__irq_set_trigger()
其實msgget的返回值只要不是-1都是沒有問題的,當之前沒有人使用過msgget的時候返回的可能是0,但是這個0是合法的消息隊列id,假如再次調用msgget的話就不是0了,而是另一個值。
函數使用如下: void tempFileDeal() { int fd = 0; char buf[128] = "temp-XXXXXX"; if((fd = mkstemp(buf)) < 0)