我正在调用Microsoft的_wspawnv函数,它在errno设置为22的情况下继续返回-1; errno.h将此定义为EINVAL。根据Microsoft的_wspawnv文档,只有在mode
参数无效时才能返回此代码。我试过在第一个参数中用_P_WAIT和_P_NOWAIT调用它,并且都返回相同的错误。
故事的道德 - 不要相信文档告诉你一切。我没有花太多时间仔细检查文件名,因为文档没有将其列为可能的嫌疑人,即使错误代码暗示任何参数可能无效。
答案 0 :(得分:2)
奇怪的是,documentation还指出:
如果允许继续执行,这些函数将errno设置为EINVAL,并返回-1。没有产生新的过程。
应该信任多少?
此外,它不应该返回EINVAL。它将errno设置为EINVAL。