From: guillaume pierronnet Date: 2006-06-21T22:01:35+09:00 Subject: [PATCH] File.mkfifo File.mknod ------=_Part_4273_17497882.1150894891495 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline hi list, i've seen an old patch on ruby-talk (http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/91735) who add support for mkfifo() and mknod() in ruby. It doesn't seems to have been included in ruby. Here is a updated version of this patch against the latest CVS. regards ------=_Part_4273_17497882.1150894891495 Content-Type: application/octet-stream; name=mkfifo_mknod.patch Content-Transfer-Encoding: base64 X-Attachment-Id: f_eopp2wff Content-Disposition: attachment; filename="mkfifo_mknod.patch" SW5kZXg6IGNvbmZpZ3VyZS5pbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvc3JjL3J1YnkvY29uZmln dXJlLmluLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjMwMQpkaWZmIC11IC1yMS4zMDEgY29uZmln dXJlLmluCi0tLSBjb25maWd1cmUuaW4JOSBKdW4gMjAwNiAyMToyMDoxMyAtMDAwMAkxLjMwMQor KysgY29uZmlndXJlLmluCTIxIEp1biAyMDA2IDEyOjU0OjQwIC0wMDAwCkBAIC01MTAsNyArNTEw LDcgQEAKIAkgICAgICBnZXRwcmlvcml0eSBnZXRybGltaXQgc2V0cmxpbWl0XAogCSAgICAgIGRs b3BlbiBzaWdwcm9jbWFzayBzaWdhY3Rpb24gX3NldGptcCB2c25wcmludGYgc25wcmludGZcCiAJ ICAgICAgc2V0c2lkIHRlbGxkaXIgc2Vla2RpciBmY2htb2QgbWt0aW1lIHRpbWVnbSBjb3NoIHNp bmggdGFuaCBsb2cyXAotCSAgICAgIHNldHVpZCBzZXRnaWQgZGFlbW9uIHNlbGVjdF9sYXJnZV9m ZHNldCBzZXRlbnYgdW5zZXRlbnYpCisJICAgICAgc2V0dWlkIHNldGdpZCBkYWVtb24gc2VsZWN0 X2xhcmdlX2Zkc2V0IHNldGVudiB1bnNldGVudiBta2ZpZm8gbWtub2QpCiBBQ19BUkdfRU5BQkxF KHNldHJldWlkLAogICAgICAgIFsgIC0tZW5hYmxlLXNldHJldWlkICAgICAgIHVzZSBzZXRyZXVp ZCgpL3NldHJlZ2lkKCkgYWNjb3JkaW5nIHRvIG5lZWQgZXZlbiBpZiBvYnNvbGV0ZS5dLAogICAg ICAgIFt1c2Vfc2V0cmV1aWQ9JGVuYWJsZXZhbF0pCkluZGV4OiBmaWxlLmMKPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpS Q1MgZmlsZTogL3NyYy9ydWJ5L2ZpbGUuYyx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4yNDAKZGlm ZiAtdSAtcjEuMjQwIGZpbGUuYwotLS0gZmlsZS5jCTIwIEp1biAyMDA2IDE4OjAyOjE2IC0wMDAw CTEuMjQwCisrKyBmaWxlLmMJMjEgSnVuIDIwMDYgMTI6NTQ6NDIgLTAwMDAKQEAgLTMzNjgsNiAr MzM2OCwxMDMgQEAKICAgICByZXR1cm4gUW5pbDsJCS8qIG5vdCByZWFjaGVkICovCiB9CiAKKy8q CisgKiAgY2FsbC1zZXE6CisgKiAgICAgRmlsZS5ta25vZChmaWxlX25hbWUsIFt0eXBlLCBbbW9k ZSwgW2Rldl1dXSkgID0+IDAKKyAqICAKKyAqIENyZWF0ZSBhIGZpbGVzeXN0ZW0gbm9kZSAoZmls ZSwgZGV2aWNlIHNwZWNpYWwgZmlsZSBvciBuYW1lZCBwaXBlKQorICogbmFtZWQgX2ZpbGVfbmFt ZV8sIHNwZWNpZmllZCBieSBfbW9kZV8gYW5kIF9kZXZfLgorICoKKyAqIF90eXBlXyBhbmQgX21v ZGVfIHNwZWNpZmllcyB0aGUgdHlwZSBhbmQgdGhlIHBlcm1pc3Npb25zIG9mIG5vZGUgdG8KKyAq IGJlIGNyZWF0ZWQgcmVzcGVjdGl2ZWx5LgorICoKKyAqIFRoZSBwZXJtaXNzaW9ucyBhcmUgbW9k aWZpZWQgYnkgdGhlIHByb2Nlc3MncyB1bWFzayBpbiB0aGUgdXN1YWwKKyAqIHdheTogdGhlIHBl cm1pc3Npb25zIG9mIHRoZSBjcmVhdGVkIG5vZGUgYXJlIChtb2RlICYgfnVtYXNrKS4KKyAqCisg KiBfdHlwZV8gc2hvdWxkIGJlIG9uZSBvZiArP2YrLCArP2MrLCArP2IrIGFuZCArP3ArIHRvIHNw ZWNpZnkgYQorICogbm9ybWFsIGZpbGUgKHdoaWNoIHdpbGwgYmUgY3JlYXRlZCBlbXB0eSksIGNo YXJhY3RlciBzcGVjaWFsIGZpbGUsCisgKiBibG9jayBzcGVjaWFsIGZpbGUgb3IgRklGTyAobmFt ZWQgcGlwZSksIHJlc3BlY3RpdmVseSwgb3IgK25pbCssCisgKiB3aGljaCB3aWxsIGNyZWF0ZSBh IG5vcm1hbCBmaWxlLgorICovCisKK3N0YXRpYyBWQUxVRQorcmJfZmlsZV9zX21rbm9kKGFyZ2Ms IGFyZ3YpCisgICAgaW50IGFyZ2M7CisgICAgVkFMVUUgKmFyZ3Y7Cit7CisjaWZkZWYgSEFWRV9N S05PRAorICAgIFZBTFVFIHBhdGgsIHR5cGUsIHZtb2RlLCB2ZGV2OworICAgIGludCBtb2RlID0g MDY2NiwgZGV2ID0gMCwgdDsKKworICAgIHJiX3NlY3VyZSg0KTsKKyAgICBzd2l0Y2ggKHJiX3Nj YW5fYXJncyhhcmdjLCBhcmd2LCAiMTMiLCAmcGF0aCwgJnR5cGUsICZ2bW9kZSwgJnZkZXYpKSB7 CisgICAgICBjYXNlIDQ6CisJZGV2ID0gTlVNMklOVCh2ZGV2KTsKKyAgICAgIGNhc2UgMzoKKwlt b2RlID0gTlVNMklOVCh2bW9kZSkgJiB+U19JRk1UOworICAgIH0KKyAgICBTYWZlU3RyaW5nVmFs dWUocGF0aCk7CisgICAgaWYgKCFOSUxfUCh0eXBlKSkgeworCXJiX2NoZWNrX3NhZmVfb2JqKHR5 cGUpOworCXN3aXRjaCAodCA9IE5VTTJDSFIodHlwZSkpIHsKKwkgIGNhc2UgJ2YnOiBtb2RlIHw9 IFNfSUZSRUc7IGJyZWFrOworCSAgY2FzZSAnYyc6IG1vZGUgfD0gU19JRkNIUjsgYnJlYWs7Cisj aWZkZWYgU19JRkJMSworCSAgY2FzZSAnYic6IG1vZGUgfD0gU19JRkJMSzsgYnJlYWs7CisjZW5k aWYKKyNpZmRlZiBTX0lGSUZPCisJICBjYXNlICdwJzogbW9kZSB8PSBTX0lGSUZPOyBicmVhazsK KyNlbmRpZgorCSAgZGVmYXVsdDoKKwkgICAgcmJfcmFpc2UocmJfZUFyZ0Vycm9yLCAidW5rbm93 biBub2RlIHR5cGUgLSAlYyIsIHQpOworCX0KKyAgICB9CisgICAgaWYgKG1rbm9kKFJTVFJJTkco cGF0aCktPnB0ciwgbW9kZSwgZGV2KSkgeworCXJiX3N5c19mYWlsKDApOworICAgIH0KKyNlbHNl CisgICAgcmJfbm90aW1wbGVtZW50KCk7CisjZW5kaWYKKyAgICByZXR1cm4gSU5UMkZJWCgwKTsK K30KKworLyoKKyAqICBjYWxsLXNlcToKKyAqICAgICBGaWxlLm1rZmlmbyhmaWxlX25hbWUsIG1v ZGUpICA9PiAwCisgKiAgCisgKiAgQ3JlYXRlcyBhIEZJRk8gc3BlY2lhbCBmaWxlIHdpdGggbmFt ZSBfZmlsZV9uYW1lXy4gIF9tb2RlXworICogIHNwZWNpZmllcyB0aGUgRklGTydzIHBlcm1pc3Np b25zLiBJdCBpcyBtb2RpZmllZCBieSB0aGUgcHJvY2VzcydzCisgKiAgdW1hc2sgaW4gdGhlIHVz dWFsIHdheTogdGhlIHBlcm1pc3Npb25zIG9mIHRoZSBjcmVhdGVkIGZpbGUgYXJlCisgKiAgKG1v ZGUgJiB+dW1hc2spLgorICovCisKK3N0YXRpYyBWQUxVRQorcmJfZmlsZV9zX21rZmlmbyhhcmdj LCBhcmd2KQorICAgIGludCBhcmdjOworICAgIFZBTFVFICphcmd2OworeworI2lmICFkZWZpbmVk IEhBVkVfTUtGSUZPICYmIGRlZmluZWQgSEFWRV9NS05PRCAmJiBkZWZpbmVkIFNfSUZJRk8KKyNk ZWZpbmUgbWtmaWZvKHBhdGgsIG1vZGUpIG1rbm9kKHBhdGgsIChtb2RlKSZ+U19JRk1UfFNfSUZJ Rk8sIDApCisjZGVmaW5lIEhBVkVfTUtGSUZPCisjZW5kaWYKKyNpZmRlZiBIQVZFX01LRklGTwor ICAgIFZBTFVFIHBhdGgsIHZtb2RlOworICAgIGludCBtb2RlID0gMDY2NjsKKworICAgIHJiX3Nl Y3VyZSg0KTsKKyAgICBpZiAocmJfc2Nhbl9hcmdzKGFyZ2MsIGFyZ3YsICIxMSIsICZwYXRoLCAm dm1vZGUpID4gMSkgeworCW1vZGUgPSBOVU0ySU5UKHZtb2RlKTsKKyAgICB9CisgICAgU2FmZVN0 cmluZ1ZhbHVlKHBhdGgpOworICAgIGlmIChta2ZpZm8oUlNUUklORyhwYXRoKS0+cHRyLCBtb2Rl KSkgeworCXJiX3N5c19mYWlsKDApOworICAgIH0KKyNlbHNlCisgICAgcmJfbm90aW1wbGVtZW50 KCk7CisjZW5kaWYKKyAgICByZXR1cm4gSU5UMkZJWCgwKTsKK30KKwogCiAKIC8qCkBAIC00MzQx LDYgKzQ0MzgsOCBAQAogICAgIHJiX2RlZmluZV9zaW5nbGV0b25fbWV0aG9kKHJiX2NGaWxlLCAi cmVuYW1lIiwgcmJfZmlsZV9zX3JlbmFtZSwgMik7CiAgICAgcmJfZGVmaW5lX3NpbmdsZXRvbl9t ZXRob2QocmJfY0ZpbGUsICJ1bWFzayIsIHJiX2ZpbGVfc191bWFzaywgLTEpOwogICAgIHJiX2Rl ZmluZV9zaW5nbGV0b25fbWV0aG9kKHJiX2NGaWxlLCAidHJ1bmNhdGUiLCByYl9maWxlX3NfdHJ1 bmNhdGUsIDIpOworICAgIHJiX2RlZmluZV9zaW5nbGV0b25fbWV0aG9kKHJiX2NGaWxlLCAibWtu b2QiLCByYl9maWxlX3NfbWtub2QsIC0xKTsKKyAgICByYl9kZWZpbmVfc2luZ2xldG9uX21ldGhv ZChyYl9jRmlsZSwgIm1rZmlmbyIsIHJiX2ZpbGVfc19ta2ZpZm8sIC0xKTsKICAgICByYl9kZWZp bmVfc2luZ2xldG9uX21ldGhvZChyYl9jRmlsZSwgImV4cGFuZF9wYXRoIiwgcmJfZmlsZV9zX2V4 cGFuZF9wYXRoLCAtMSk7CiAgICAgcmJfZGVmaW5lX3NpbmdsZXRvbl9tZXRob2QocmJfY0ZpbGUs ICJiYXNlbmFtZSIsIHJiX2ZpbGVfc19iYXNlbmFtZSwgLTEpOwogICAgIHJiX2RlZmluZV9zaW5n bGV0b25fbWV0aG9kKHJiX2NGaWxlLCAiZGlybmFtZSIsIHJiX2ZpbGVfc19kaXJuYW1lLCAxKTsK ------=_Part_4273_17497882.1150894891495--