您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ CheckInterrupted函数代码示例

51自学网 2021-06-01 20:10:29
  C++
这篇教程C++ CheckInterrupted函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中CheckInterrupted函数的典型用法代码示例。如果您正苦于以下问题:C++ CheckInterrupted函数的具体用法?C++ CheckInterrupted怎么用?C++ CheckInterrupted使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了CheckInterrupted函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: SystemNative_MksTemps

extern "C" intptr_t SystemNative_MksTemps(char* pathTemplate, int32_t suffixLength){    intptr_t result;#if HAVE_MKSTEMPS    while (CheckInterrupted(result = mkstemps(pathTemplate, suffixLength)));#elif HAVE_MKSTEMP    // mkstemps is not available bionic/Android, but mkstemp is    // mkstemp doesn't allow the suffix that msktemps does allow, so we'll need to    // remove that before passing pathTemplate to mkstemp    int32_t pathTemplateLength = static_cast<int32_t>(strlen(pathTemplate));    // pathTemplate must include at least XXXXXX (6 characters) which are not part of    // the suffix    if (suffixLength < 0 || suffixLength > pathTemplateLength - 6)    {        errno = EINVAL;        return -1;    }    // Make mkstemp ignore the suffix by setting the first char of the suffix to /0,    // if there is a suffix    int32_t firstSuffixIndex = 0;    char firstSuffixChar = 0;    if (suffixLength > 0)    {        firstSuffixIndex = pathTemplateLength - suffixLength;        firstSuffixChar = pathTemplate[firstSuffixIndex];        pathTemplate[firstSuffixIndex] = 0;    }    while (CheckInterrupted(result = mkstemp(pathTemplate)));    // Reset the first char of the suffix back to its original value, if there is a suffix    if (suffixLength > 0)    {        pathTemplate[firstSuffixIndex] = firstSuffixChar;    }#else#error "Cannot find mkstemps nor mkstemp on this platform"#endif    return  result;}
开发者ID:AArnott,项目名称:corefx,代码行数:44,


示例2: SystemNative_Pipe

extern "C" int32_t SystemNative_Pipe(int32_t pipeFds[2], int32_t flags){    switch (flags)    {        case 0:            break;        case PAL_O_CLOEXEC:            flags = O_CLOEXEC;            break;        default:            assert(false && "Unknown flag.");            errno = EINVAL;            return -1;    }    int32_t result;#if HAVE_PIPE2    // If pipe2 is available, use it.  This will handle O_CLOEXEC if it was set.    while (CheckInterrupted(result = pipe2(pipeFds, flags)));#else    // Otherwise, use pipe.    while (CheckInterrupted(result = pipe(pipeFds)));    // Then, if O_CLOEXEC was specified, use fcntl to configure the file descriptors appropriately.    if ((flags & O_CLOEXEC) != 0 && result == 0)    {        while (CheckInterrupted(result = fcntl(pipeFds[0], F_SETFD, FD_CLOEXEC)));        if (result == 0)        {            while (CheckInterrupted(result = fcntl(pipeFds[1], F_SETFD, FD_CLOEXEC)));        }        if (result != 0)        {            int tmpErrno = errno;            close(pipeFds[0]);            close(pipeFds[1]);            errno = tmpErrno;        }    }#endif    return result;}
开发者ID:naamunds,项目名称:corefx,代码行数:43,


示例3: SystemNative_ReadEvents

extern "C" void SystemNative_ReadEvents(int32_t sock, NetworkChangeEvent onNetworkChange){    char buffer[4096];    iovec iov = {buffer, sizeof(buffer)};    sockaddr_nl sanl;    msghdr msg = { .msg_name = reinterpret_cast<void*>(&sanl), .msg_namelen = sizeof(sockaddr_nl), .msg_iov = &iov, .msg_iovlen = 1 };    ssize_t len;    while (CheckInterrupted(len = recvmsg(sock, &msg, 0)));    if (len == -1)    {        // Probably means the socket has been closed.        return;    }    for (nlmsghdr* hdr = reinterpret_cast<nlmsghdr*>(buffer); NLMSG_OK(hdr, UnsignedCast(len)); NLMSG_NEXT(hdr, len))    {        switch (hdr->nlmsg_type)        {            case NLMSG_DONE:                return; // End of a multi-part message; stop reading.            case NLMSG_ERROR:                return;            case RTM_NEWADDR:                onNetworkChange(sock, NetworkChangeKind::AddressAdded);                break;            case RTM_DELADDR:                onNetworkChange(sock, NetworkChangeKind::AddressRemoved);                break;            case RTM_NEWLINK:                onNetworkChange(sock, ReadNewLinkMessage(hdr));                break;            case RTM_DELLINK:                onNetworkChange(sock, NetworkChangeKind::LinkRemoved);                break;            default:                break;        }    }}NetworkChangeKind ReadNewLinkMessage(nlmsghdr* hdr){    assert(hdr != nullptr);    ifinfomsg* ifimsg;    ifimsg = reinterpret_cast<ifinfomsg*>(NLMSG_DATA(hdr));    if (ifimsg->ifi_family == AF_INET)    {        if ((ifimsg->ifi_flags & IFF_UP) != 0)        {            return NetworkChangeKind::LinkAdded;        }    }    return NetworkChangeKind::None;}
开发者ID:553226713,项目名称:corefx,代码行数:55,


示例4: WriteKeypadXmit

static void WriteKeypadXmit(){    // If a terminfo "application mode" keypad_xmit string has been supplied,    // write it out to the terminal to enter the mode.    if (g_keypadXmit != NULL)    {        ssize_t ret;        while (CheckInterrupted(ret = write(STDOUT_FILENO, g_keypadXmit, (size_t)(sizeof(char) * strlen(g_keypadXmit)))));        assert(ret >= 0); // failure to change the mode should not prevent app from continuing    }}
开发者ID:BruceForstall,项目名称:corefx,代码行数:11,


示例5: SystemNative_UTime

extern "C" int32_t SystemNative_UTime(const char* path, UTimBuf* times){    assert(times != nullptr);    utimbuf temp;    ConvertUTimBuf(*times, temp);    int32_t result;    while (CheckInterrupted(result = utime(path, &temp)));    return result;}
开发者ID:alux-xu,项目名称:corefx,代码行数:11,


示例6: SystemNative_ReadSingleEvent

extern "C" NetworkChangeKind SystemNative_ReadSingleEvent(int32_t sock){    char buffer[4096];    iovec iov = {buffer, sizeof(buffer)};    sockaddr_nl sanl;    msghdr msg = { .msg_name = reinterpret_cast<void*>(&sanl), .msg_namelen = sizeof(sockaddr_nl), .msg_iov = &iov, .msg_iovlen = 1 };    ssize_t len;    while (CheckInterrupted(len = recvmsg(sock, &msg, 0)));    if (len == -1)    {        // Probably means the socket has been closed.        // If so, the managed side will ignore the return value.        return NetworkChangeKind::None;    }    nlmsghdr* hdr = reinterpret_cast<nlmsghdr*>(buffer);    // This channel should only send a single message at a time.    // This means there should be no multi-part messages (NLM_F_MULTI).    assert((hdr->nlmsg_flags & NLM_F_MULTI) == 0);    switch (hdr->nlmsg_type)    {        case NLMSG_DONE:            return NetworkChangeKind::None;        case NLMSG_ERROR:            return NetworkChangeKind::None;        case RTM_NEWADDR:            return NetworkChangeKind::AddressAdded;        case RTM_DELADDR:            return NetworkChangeKind::AddressRemoved;        case RTM_NEWLINK:            return ReadNewLinkMessage(hdr);        case RTM_DELLINK:            return NetworkChangeKind::LinkRemoved;        default:            return NetworkChangeKind::None;    }}NetworkChangeKind ReadNewLinkMessage(nlmsghdr* hdr){    assert(hdr != nullptr);    ifinfomsg* ifimsg;    ifimsg = reinterpret_cast<ifinfomsg*>(NLMSG_DATA(hdr));    if (ifimsg->ifi_family == AF_INET)    {        if ((ifimsg->ifi_flags & IFF_UP) != 0)        {            return NetworkChangeKind::LinkAdded;        }    }    return NetworkChangeKind::None;}
开发者ID:6xiaoxian9,项目名称:corefx,代码行数:53,


示例7: SystemNative_FcntlSetPipeSz

extern "C" int32_t SystemNative_FcntlSetPipeSz(intptr_t fd, int32_t size){#ifdef F_SETPIPE_SZ    int32_t result;    while (CheckInterrupted(result = fcntl(ToFileDescriptor(fd), F_SETPIPE_SZ, size)));    return result;#else    (void)fd, (void)size;    errno = ENOTSUP;    return -1;#endif}
开发者ID:naamunds,项目名称:corefx,代码行数:12,


示例8: SystemNative_FStat

extern "C" int32_t SystemNative_FStat(intptr_t fd, FileStatus* output){    struct stat_ result;    int ret;    while (CheckInterrupted(ret = fstat_(ToFileDescriptor(fd), &result)));    if (ret == 0)    {        ConvertFileStatus(result, output);    }    return ret;}
开发者ID:naamunds,项目名称:corefx,代码行数:13,


示例9: SystemNative_ShmUnlink

extern "C" int32_t SystemNative_ShmUnlink(const char* name){#if HAVE_SHM_OPEN_THAT_WORKS_WELL_ENOUGH_WITH_MMAP    int32_t result;    while (CheckInterrupted(result = shm_unlink(name)));    return result;#else    // Not supported on e.g. Android. Also, prevent a compiler error because name is unused    (void)name;    errno = ENOTSUP;    return -1;#endif}
开发者ID:AArnott,项目名称:corefx,代码行数:13,


示例10: SystemNative_Stat

extern "C" int32_t SystemNative_Stat(const char* path, FileStatus* output){    struct stat_ result;    int ret;    while (CheckInterrupted(ret = stat_(path, &result)));    if (ret == 0)    {        ConvertFileStatus(result, output);    }    return ret;}
开发者ID:naamunds,项目名称:corefx,代码行数:13,


示例11: SystemNative_Open

extern "C" intptr_t SystemNative_Open(const char* path, int32_t flags, int32_t mode){    flags = ConvertOpenFlags(flags);    if (flags == -1)    {        errno = EINVAL;        return -1;    }    int result;    while (CheckInterrupted(result = open(path, flags, static_cast<mode_t>(mode))));    return result;}
开发者ID:naamunds,项目名称:corefx,代码行数:13,


示例12: SystemNative_UTimensat

int32_t SystemNative_UTimensat(const char* path, TimeSpec* times){    int32_t result;#if HAVE_UTIMENSAT    struct timespec updatedTimes[2];    updatedTimes[0].tv_sec = (time_t)times[0].tv_sec;    updatedTimes[0].tv_nsec = (long)times[0].tv_nsec;    updatedTimes[1].tv_sec = (time_t)times[1].tv_sec;    updatedTimes[1].tv_nsec = (long)times[1].tv_nsec;        while (CheckInterrupted(result = utimensat(AT_FDCWD, path, updatedTimes, 0)));#else    struct timeval updatedTimes[2];    updatedTimes[0].tv_sec = (long)times[0].tv_sec;    updatedTimes[0].tv_usec = (int)times[0].tv_nsec / 1000;        updatedTimes[1].tv_sec = (long)times[1].tv_sec;    updatedTimes[1].tv_usec = (int)times[1].tv_nsec / 1000;    while (CheckInterrupted(result = utimes(path, updatedTimes)));#endif    return result;}
开发者ID:davidsh,项目名称:corefx,代码行数:23,


示例13: SystemNative_FTruncate

extern "C" int32_t SystemNative_FTruncate(intptr_t fd, int64_t length){    int32_t result;    while (CheckInterrupted(        result =#if HAVE_FTRUNCATE64        ftruncate64(#else        ftruncate(#endif            ToFileDescriptor(fd),            length)));    return result;}
开发者ID:AArnott,项目名称:corefx,代码行数:14,


示例14: SystemNative_Pipe

extern "C" int32_t SystemNative_Pipe(int32_t pipeFds[2], int32_t flags){    switch (flags)    {        case 0:            break;        case PAL_O_CLOEXEC:            flags = O_CLOEXEC;            break;        default:            assert(false && "Unknown flag.");            errno = EINVAL;            return -1;    }    int32_t result;#if HAVE_PIPE2    while (CheckInterrupted(result = pipe2(pipeFds, flags)));#else    while (CheckInterrupted(result = pipe(pipeFds)));         // CLOEXEC intentionally ignored on platforms without pipe2.#endif    return result;}
开发者ID:alux-xu,项目名称:corefx,代码行数:23,


示例15: SystemNative_LSeek

extern "C" int64_t SystemNative_LSeek(intptr_t fd, int64_t offset, SeekWhence whence){    int64_t result;    while (CheckInterrupted(        result =#if HAVE_LSEEK64            lseek64(#else            lseek(#endif                 ToFileDescriptor(fd),                 offset,                 whence)));    return result;}
开发者ID:AArnott,项目名称:corefx,代码行数:15,


示例16: SystemNative_ReadStdin

int32_t SystemNative_ReadStdin(void* buffer, int32_t bufferSize){    assert(buffer != NULL || bufferSize == 0);    assert(bufferSize >= 0);     if (bufferSize < 0)    {        errno = EINVAL;        return -1;    }    ssize_t count;    while (CheckInterrupted(count = read(STDIN_FILENO, buffer, Int32ToSizeT(bufferSize))));    return (int32_t)count;}
开发者ID:BruceForstall,项目名称:corefx,代码行数:15,


示例17: SystemNative_ReadStdinUnbuffered

extern "C" int32_t SystemNative_ReadStdinUnbuffered(void* buffer, int32_t bufferSize){    assert(buffer != nullptr || bufferSize == 0);    assert(bufferSize >= 0);    if (bufferSize < 0)    {        errno = EINVAL;        return -1;    }    ssize_t count;    while (CheckInterrupted(count = read(STDIN_FILENO, buffer, UnsignedCast(bufferSize))));    return static_cast<int32_t>(count);}
开发者ID:CatomStudio,项目名称:corefx,代码行数:15,


示例18: SystemNative_Write

extern "C" int32_t SystemNative_Write(intptr_t fd, const void* buffer, int32_t bufferSize){    assert(buffer != nullptr || bufferSize == 0);    assert(bufferSize >= 0);    if (bufferSize < 0)    {        errno = ERANGE;        return -1;    }    ssize_t count;    while (CheckInterrupted(count = write(ToFileDescriptor(fd), buffer, UnsignedCast(bufferSize))));    assert(count >= -1 && count <= bufferSize);    return static_cast<int32_t>(count);}
开发者ID:naamunds,项目名称:corefx,代码行数:17,


示例19: SystemNative_LockFileRegion

extern "C" int32_t SystemNative_LockFileRegion(intptr_t fd, int64_t offset, int64_t length, int16_t lockType){    if (offset < 0 || length < 0)     {        errno = EINVAL;        return -1;    }#if HAVE_FLOCK64    struct flock64 lockArgs;#else    struct flock lockArgs;#endif    lockArgs.l_type = lockType;    lockArgs.l_whence = SEEK_SET;    lockArgs.l_start = offset;    lockArgs.l_len = length;    int32_t ret;    while (CheckInterrupted(ret = fcntl (ToFileDescriptor(fd), F_SETLK, &lockArgs)));    return ret;}
开发者ID:AArnott,项目名称:corefx,代码行数:23,


示例20: SystemNative_RmDir

extern "C" int32_t SystemNative_RmDir(const char* path){    int32_t result;    while (CheckInterrupted(result = rmdir(path)));    return result;}
开发者ID:naamunds,项目名称:corefx,代码行数:6,


示例21: SystemNative_Rename

extern "C" int32_t SystemNative_Rename(const char* oldPath, const char* newPath){    int32_t result;    while (CheckInterrupted(result = rename(oldPath, newPath)));    return result;}
开发者ID:naamunds,项目名称:corefx,代码行数:6,


示例22: SystemNative_Poll

extern "C" Error SystemNative_Poll(PollEvent* pollEvents, uint32_t eventCount, int32_t milliseconds, uint32_t* triggered){    if (pollEvents == nullptr || triggered == nullptr)    {        return PAL_EFAULT;    }    if (milliseconds < -1)    {        return PAL_EINVAL;    }    size_t bufferSize = sizeof(pollfd) * static_cast<size_t>(eventCount);    bool useStackBuffer = bufferSize <= 2048;    pollfd* pollfds = reinterpret_cast<pollfd*>(useStackBuffer ? alloca(bufferSize) : malloc(bufferSize));    for (uint32_t i = 0; i < eventCount; i++)    {        const PollEvent& event = pollEvents[i];        pollfds[i] = { .fd = event.FileDescriptor, .events = event.Events, .revents = 0 };    }    int rv;    while (CheckInterrupted(rv = poll(pollfds, static_cast<nfds_t>(eventCount), milliseconds)));    if (rv < 0)    {        if (!useStackBuffer)        {            free(pollfds);        }        *triggered = 0;        return SystemNative_ConvertErrorPlatformToPal(errno);    }    for (uint32_t i = 0; i < eventCount; i++)    {        const pollfd& pfd = pollfds[i];        assert(pfd.fd == pollEvents[i].FileDescriptor);        assert(pfd.events == pollEvents[i].Events);        pollEvents[i].TriggeredEvents = static_cast<PollEvents>(pfd.revents);    }    *triggered = static_cast<uint32_t>(rv);    if (!useStackBuffer)    {        free(pollfds);    }    return PAL_SUCCESS;}extern "C" int32_t SystemNative_PosixFAdvise(intptr_t fd, int64_t offset, int64_t length, FileAdvice advice){#if HAVE_POSIX_ADVISE    int32_t result;    while (CheckInterrupted(result = posix_fadvise(ToFileDescriptor(fd), offset, length, advice)));    return result;#else    // Not supported on this platform. Caller can ignore this failure since it's just a hint.    (void)fd, (void)offset, (void)length, (void)advice;    return ENOTSUP;#endif}
开发者ID:naamunds,项目名称:corefx,代码行数:67,


示例23: SystemNative_FTruncate

extern "C" int32_t SystemNative_FTruncate(intptr_t fd, int64_t length){    int32_t result;    while (CheckInterrupted(result = ftruncate(ToFileDescriptor(fd), length)));    return result;}
开发者ID:naamunds,项目名称:corefx,代码行数:6,


示例24: SystemNative_MksTemps

extern "C" intptr_t SystemNative_MksTemps(char* pathTemplate, int32_t suffixLength){    intptr_t result;    while (CheckInterrupted(result = mkstemps(pathTemplate, suffixLength)));    return  result;}
开发者ID:naamunds,项目名称:corefx,代码行数:6,


示例25: SystemNative_Link

extern "C" int32_t SystemNative_Link(const char* source, const char* linkTarget){    int32_t result;    while (CheckInterrupted(result = link(source, linkTarget)));    return result;}
开发者ID:naamunds,项目名称:corefx,代码行数:6,


示例26: SystemNative_LSeek

extern "C" int64_t SystemNative_LSeek(intptr_t fd, int64_t offset, SeekWhence whence){    int64_t result;    while (CheckInterrupted(result = lseek(ToFileDescriptor(fd), offset, whence)));    return result;}
开发者ID:naamunds,项目名称:corefx,代码行数:6,


示例27: SystemNative_FLock

extern "C" int32_t SystemNative_FLock(intptr_t fd, LockOperations operation){    int32_t result;    while (CheckInterrupted(result = flock(ToFileDescriptor(fd), operation)));    return result;}
开发者ID:naamunds,项目名称:corefx,代码行数:6,


示例28: SystemNative_FSync

extern "C" int32_t SystemNative_FSync(intptr_t fd){    int32_t result;    while (CheckInterrupted(result = fsync(ToFileDescriptor(fd))));    return result;}
开发者ID:naamunds,项目名称:corefx,代码行数:6,


示例29: SystemNative_FChMod

extern "C" int32_t SystemNative_FChMod(intptr_t fd, int32_t mode){    int32_t result;    while (CheckInterrupted(result = fchmod(ToFileDescriptor(fd), static_cast<mode_t>(mode))));    return result;}
开发者ID:naamunds,项目名称:corefx,代码行数:6,


示例30: SystemNative_ChMod

extern "C" int32_t SystemNative_ChMod(const char* path, int32_t mode){    int32_t result;    while (CheckInterrupted(result = chmod(path, static_cast<mode_t>(mode))));    return result;}
开发者ID:naamunds,项目名称:corefx,代码行数:6,



注:本文中的CheckInterrupted函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ CheckLhs函数代码示例
C++ CheckInput函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。