Android中的文件描述符似乎并没有closures

我正在处理Android本地代码中处理TCP / UDPstream的应用程序,但是closures这些stream程似乎并不奏效。 我的意思是,当我第一次启动一个TCP连接,我得到了类似于ID 43,我redirect到一个pipe道。 当我closures连接(连同文件描述符)时,我开始一个新的连接,但不是获得相同的pipe道ID,这次我跳到了pipe道53的东西。

多一些打开/closures操作,我得到pipe道56,然后由于其他原因无法正确处理input,我的程序崩溃。 我正在testingfd的结束

if (close(fd) < 0) { /*log it */ } 

它从来没有报告错误,但文件描述符ID不断增加,直到我重新启动程序,然后他们回到40的东西。

任何帮助表示赞赏,谢谢!