seek is inocent. open(:rw) is simply NYI.

In IO::Handle::open:
            my $mode =  $w ?? 'w' !! ($a ?? 'wa' !! 'r' );

In MoarVM/src/io/syncfile.c:

MVMObject * MVM_file_open_fh(MVMThreadContext *tc, MVMString *filename, 
MVMString *mode) {
...
    if (0 == strcmp("r", fmode))
        flag = O_RDONLY;
    else if (0 == strcmp("w", fmode))
        flag = O_CREAT| O_WRONLY | O_TRUNC;
    else if (0 == strcmp("wa", fmode))
        flag = O_CREAT | O_WRONLY | O_APPEND;
    else {
        MVM_free(fname);
        MVM_exception_throw_adhoc(tc, "Invalid open mode: %d", fmode);
    }

Reply via email to