{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":27064201,"defaultBranch":"main","name":"junixsocket","ownerLogin":"kohlschutter","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2014-11-24T06:41:49.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/10012754?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1727100551.0","currentOid":""},"activityList":{"items":[{"before":"d0833f9c6265766f7500f57ce5ccc3825e410dab","after":"e244dc507c8de28d3abf99e0ae23391cb5b8b6b5","ref":"refs/heads/gh-pages","pushedAt":"2024-09-23T14:29:10.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kohlschuetter","name":"Dr. Christian Kohlschütter","path":"/kohlschuetter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/822690?s=80&v=4"},"commit":{"message":"Site checkin for 2.10.1","shortMessageHtmlLink":"Site checkin for 2.10.1"}},{"before":"6efe3cd17aef9f73ed572cca48133366255b3b01","after":"6861ba25fea2aa12b81a193cae11c0d3ea1d22d9","ref":"refs/heads/main","pushedAt":"2024-09-23T14:19:27.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kohlschuetter","name":"Dr. Christian Kohlschütter","path":"/kohlschuetter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/822690?s=80&v=4"},"commit":{"message":"Update README","shortMessageHtmlLink":"Update README"}},{"before":"240eeb5f72a7ab8e4e787c97255516b47299f462","after":"6efe3cd17aef9f73ed572cca48133366255b3b01","ref":"refs/heads/main","pushedAt":"2024-09-23T14:00:12.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"kohlschuetter","name":"Dr. Christian Kohlschütter","path":"/kohlschuetter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/822690?s=80&v=4"},"commit":{"message":"docs: Update changelog","shortMessageHtmlLink":"docs: Update changelog"}},{"before":"c9a8a6296f04d422392600dd1bebe3fa6290c82d","after":"240eeb5f72a7ab8e4e787c97255516b47299f462","ref":"refs/heads/main","pushedAt":"2024-09-23T13:58:24.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kohlschuetter","name":"Dr. Christian Kohlschütter","path":"/kohlschuetter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/822690?s=80&v=4"},"commit":{"message":"docs: Update changelog","shortMessageHtmlLink":"docs: Update changelog"}},{"before":"a7b513a5ab67f03622f24e8f557e70017af64d5b","after":"c9a8a6296f04d422392600dd1bebe3fa6290c82d","ref":"refs/heads/main","pushedAt":"2024-09-23T13:45:55.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"kohlschuetter","name":"Dr. Christian Kohlschütter","path":"/kohlschuetter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/822690?s=80&v=4"},"commit":{"message":"Set version to 2.10.1","shortMessageHtmlLink":"Set version to 2.10.1"}},{"before":"6c9e73574145d5edc8e926d43a6409a46da7de90","after":"a7b513a5ab67f03622f24e8f557e70017af64d5b","ref":"refs/heads/main","pushedAt":"2024-09-15T15:34:16.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"kohlschuetter","name":"Dr. Christian Kohlschütter","path":"/kohlschuetter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/822690?s=80&v=4"},"commit":{"message":"docs: Update compatibility.md with some Java 24 remarks","shortMessageHtmlLink":"docs: Update compatibility.md with some Java 24 remarks"}},{"before":"fd128e4eb57ec812b652015c19c5d0fbc4f0a94c","after":"6c9e73574145d5edc8e926d43a6409a46da7de90","ref":"refs/heads/main","pushedAt":"2024-09-13T16:45:19.000Z","pushType":"push","commitsCount":5,"pusher":{"login":"kohlschuetter","name":"Dr. Christian Kohlschütter","path":"/kohlschuetter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/822690?s=80&v=4"},"commit":{"message":"test: Fix InterruptIssue158Test thread interruption assumption\n\nInterrupting a thread via Thread.interrupt() is not guaranteed to\nsucceed (read: terminate the thread), as seen with GraalVM 17 when\nrunning with an agent.\n\nIn this situation, close all temporary socket resources, which should\njust be enough to see the thread terminated in a timely fashion.","shortMessageHtmlLink":"test: Fix InterruptIssue158Test thread interruption assumption"}},{"before":"28135bd24bfccc70c2281cfef943bb62ae41c0e2","after":"fd128e4eb57ec812b652015c19c5d0fbc4f0a94c","ref":"refs/heads/main","pushedAt":"2024-09-12T22:14:21.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kohlschuetter","name":"Dr. Christian Kohlschütter","path":"/kohlschuetter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/822690?s=80&v=4"},"commit":{"message":"docs: Fix typo","shortMessageHtmlLink":"docs: Fix typo"}},{"before":"46f8ce61b289662574599787819bb9f4ae4679e5","after":"28135bd24bfccc70c2281cfef943bb62ae41c0e2","ref":"refs/heads/main","pushedAt":"2024-09-12T11:58:53.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kohlschuetter","name":"Dr. Christian Kohlschütter","path":"/kohlschuetter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/822690?s=80&v=4"},"commit":{"message":"native: Do not process ancillary messages upon recvmsg error\n\nPreviously, when trying to receive ancillary messages, a failing call to\nrecvmsg (returning -1 with some errno) would still attempt to parse\nancillary messages stored in the receive buffer.\n\nThis would, under some circumstances and relatively sporadically, for\nexample when using nonblocking sockets, return duplicate file\ndescriptors (e.g, see\nFileDescriptorsTest.testSendRecvFileDescriptorsChannelNonBlocking)\n\nDetect the error case and skip parsing of ancillary messages.","shortMessageHtmlLink":"native: Do not process ancillary messages upon recvmsg error"}},{"before":"f494e6ef49acaee6572b5ad53d36b1b0e6709409","after":"46f8ce61b289662574599787819bb9f4ae4679e5","ref":"refs/heads/main","pushedAt":"2024-09-11T20:09:03.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kohlschuetter","name":"Dr. Christian Kohlschütter","path":"/kohlschuetter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/822690?s=80&v=4"},"commit":{"message":"Update changelog","shortMessageHtmlLink":"Update changelog"}},{"before":"656807584d43dc3a067051e8ff7ace102318e175","after":"f494e6ef49acaee6572b5ad53d36b1b0e6709409","ref":"refs/heads/main","pushedAt":"2024-09-11T20:08:25.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kohlschuetter","name":"Dr. Christian Kohlschütter","path":"/kohlschuetter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/822690?s=80&v=4"},"commit":{"message":"test: vsock: Fix false-positive test failure\n\nWith some Linux kernels, certain vsock-related tests fail even though\nshould just \"pass with issues\" (vsock is unavailable).\n\nThis is due to the fact that we didn't catch NotYetConnectedException\nwith an InvalidSocketException cause.\n\nObserved on Oracle cloud with Linux 5.4.17-2136.305.5.3.el8uek.x86_64","shortMessageHtmlLink":"test: vsock: Fix false-positive test failure"}},{"before":"d6cfd320008cfac7e15652485b772786f4627acd","after":"656807584d43dc3a067051e8ff7ace102318e175","ref":"refs/heads/main","pushedAt":"2024-09-11T17:13:20.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kohlschuetter","name":"Dr. Christian Kohlschütter","path":"/kohlschuetter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/822690?s=80&v=4"},"commit":{"message":"Update changelog","shortMessageHtmlLink":"Update changelog"}},{"before":"d28eccb28aa275ba29c895003718004d4c2b0b60","after":"d6cfd320008cfac7e15652485b772786f4627acd","ref":"refs/heads/main","pushedAt":"2024-09-11T17:01:34.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"kohlschuetter","name":"Dr. Christian Kohlschütter","path":"/kohlschuetter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/822690?s=80&v=4"},"commit":{"message":"test: common: Fix MassiveParallelTest to not fail under slow emulation\n\nThisi test occassionally failed on qemu emulating Alpine Linux\nloongarch64.\n\nReduce the number of connect calls, and stop the server after shutting\ndown the threads repsonsible for accumulating requests.","shortMessageHtmlLink":"test: common: Fix MassiveParallelTest to not fail under slow emulation"}},{"before":"177aa38644371d84fee011dc3f67cb80fd17e36f","after":"d28eccb28aa275ba29c895003718004d4c2b0b60","ref":"refs/heads/main","pushedAt":"2024-09-09T14:21:39.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kohlschuetter","name":"Dr. Christian Kohlschütter","path":"/kohlschuetter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/822690?s=80&v=4"},"commit":{"message":"docs: Add loongarch64 to compatibility.md","shortMessageHtmlLink":"docs: Add loongarch64 to compatibility.md"}},{"before":"60a1c016d985f9ac70c413b25b933124ad5325de","after":"177aa38644371d84fee011dc3f67cb80fd17e36f","ref":"refs/heads/main","pushedAt":"2024-09-06T11:54:00.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kohlschuetter","name":"Dr. Christian Kohlschütter","path":"/kohlschuetter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/822690?s=80&v=4"},"commit":{"message":"Fix typo\n\njunixsocket.common.classifier.linux.s390x should be ...loongarch64,\nobviously.\n\nhttps://github.com/kohlschutter/junixsocket/issues/161","shortMessageHtmlLink":"Fix typo"}},{"before":"54576d6ea7c690bdc45feae93fd4b0bb9c639a2c","after":"60a1c016d985f9ac70c413b25b933124ad5325de","ref":"refs/heads/main","pushedAt":"2024-09-05T15:17:11.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kohlschuetter","name":"Dr. Christian Kohlschütter","path":"/kohlschuetter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/822690?s=80&v=4"},"commit":{"message":"Update changelog","shortMessageHtmlLink":"Update changelog"}},{"before":"3d4553e96ca8f4499a7ab643fa4838c429fa2914","after":"54576d6ea7c690bdc45feae93fd4b0bb9c639a2c","ref":"refs/heads/main","pushedAt":"2024-09-05T12:16:32.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kohlschuetter","name":"Dr. Christian Kohlschütter","path":"/kohlschuetter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/822690?s=80&v=4"},"commit":{"message":"Build for loongarch64-Linux\n\nWe currently use openEuler-24.03-LTS for release builds.\n\nAlso see commit 3d4553e96ca8f4499a7ab643fa4838c429fa2914 for a\nworkaround necessary at the C language level.\n\nhttps://github.com/kohlschutter/junixsocket/issues/161","shortMessageHtmlLink":"Build for loongarch64-Linux"}},{"before":"0f4fb9e7198d47f25c81f06c10ad1935a24bce62","after":"3d4553e96ca8f4499a7ab643fa4838c429fa2914","ref":"refs/heads/main","pushedAt":"2024-09-05T00:23:57.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kohlschuetter","name":"Dr. Christian Kohlschütter","path":"/kohlschuetter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/822690?s=80&v=4"},"commit":{"message":"native: Don't use __xstat on loongarch64\n\nWe currently define __xstat to allow linking against older glibc builds.\n\nglibc on loongarch64 does not have __xstat (not necessary), which\ncurrently breaks our native library.\n\nDetect the loongarch architecture and skip our xstat workaround.\n\nAlso see https://lists.openembedded.org/g/openembedded-core/topic/99216091","shortMessageHtmlLink":"native: Don't use __xstat on loongarch64"}},{"before":"51d35138591d858301af764b61a6b2b3fff7385e","after":"0f4fb9e7198d47f25c81f06c10ad1935a24bce62","ref":"refs/heads/main","pushedAt":"2024-08-26T17:25:26.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"kohlschuetter","name":"Dr. Christian Kohlschütter","path":"/kohlschuetter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/822690?s=80&v=4"},"commit":{"message":"Clean up after JVMs unable to delete temporary shared library files\n\nOn Windows, File.deleteOnExit appears to be unable to delete our\ntemporary native library DLL files -- most likely because at the point\nof deletion the process still has a reference to the loaded DLL, and\nWindows doesn't allow deleting DLLs that are still referenced by a live\nprocess.\n\nWork around this limitation by deleting after the fact, i.e., clean up\nold temp files when we know they should be deleted. Keep marker files in\nthe event that the library file cannot be deleted upon shutdown. Check\nfor these marker files upon starting a new VM using junixsocket, and\ndelete both the marker file and the associated shared library file.\n\nThe code is written in a way that it should also do the right thing on\nother platforms, or at least fail silently.\n\nhttps://github.com/kohlschutter/junixsocket/issues/160","shortMessageHtmlLink":"Clean up after JVMs unable to delete temporary shared library files"}},{"before":"f7fbcfef993c4a17c9d8af8257753feab08962ef","after":"51d35138591d858301af764b61a6b2b3fff7385e","ref":"refs/heads/main","pushedAt":"2024-08-26T17:06:24.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"kohlschuetter","name":"Dr. Christian Kohlschütter","path":"/kohlschuetter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/822690?s=80&v=4"},"commit":{"message":"Clean up after JVMs unable to delete temporary shared library files\n\nOn Windows, File.deleteOnExit appears to be unable to delete our\ntemporary native library DLL files -- most likely because at the point\nof deletion the process still has a reference to the loaded DLL, and\nWindows doesn't allow deleting DLLs that are still referenced by a live\nprocess.\n\nWork around this limitation by deleting after the fact, i.e., clean up\nold temp files when we know they should be deleted. Keep marker files in\nthe event that the library file cannot be deleted upon shutdown. Check\nfor these marker files upon starting a new VM using junixsocket, and\ndelete both the marker file and the associated shared library file.\n\nThe code is written in a way that it should also do the right thing on\nother platforms, or at least fail silently.\n\nhttps://github.com/kohlschutter/junixsocket/issues/160","shortMessageHtmlLink":"Clean up after JVMs unable to delete temporary shared library files"}},{"before":"ef4c0ad181b5304f87eadd9f88a7255bfd114258","after":"f7fbcfef993c4a17c9d8af8257753feab08962ef","ref":"refs/heads/main","pushedAt":"2024-08-15T10:44:36.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"kohlschuetter","name":"Dr. Christian Kohlschütter","path":"/kohlschuetter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/822690?s=80&v=4"},"commit":{"message":"test: common: Add SocketChannel variants for file descriptor test","shortMessageHtmlLink":"test: common: Add SocketChannel variants for file descriptor test"}},{"before":"3e46e821facadcb38f146fb14ab7f2e6699d3c59","after":"ef4c0ad181b5304f87eadd9f88a7255bfd114258","ref":"refs/heads/main","pushedAt":"2024-08-09T13:43:54.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"kohlschuetter","name":"Dr. Christian Kohlschütter","path":"/kohlschuetter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/822690?s=80&v=4"},"commit":{"message":"test: common: Add SocketChannel variants for file descriptor test","shortMessageHtmlLink":"test: common: Add SocketChannel variants for file descriptor test"}},{"before":"dd26c22815ccdac7eaaead93174f76c274815ff2","after":"3e46e821facadcb38f146fb14ab7f2e6699d3c59","ref":"refs/heads/main","pushedAt":"2024-08-09T11:53:47.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"kohlschuetter","name":"Dr. Christian Kohlschütter","path":"/kohlschuetter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/822690?s=80&v=4"},"commit":{"message":"test: common: Add SocketChannel variants for file descriptor test","shortMessageHtmlLink":"test: common: Add SocketChannel variants for file descriptor test"}},{"before":"4717924a81afc23dd914716911c7f76d36c66a40","after":"dd26c22815ccdac7eaaead93174f76c274815ff2","ref":"refs/heads/main","pushedAt":"2024-07-09T22:14:55.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"kohlschuetter","name":"Dr. Christian Kohlschütter","path":"/kohlschuetter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/822690?s=80&v=4"},"commit":{"message":"docs: Add \"Bugs in other places\"\n\nBugs in other systems and platforms, thanks to junixsocket.\n... the list keeps growing","shortMessageHtmlLink":"docs: Add \"Bugs in other places\""}},{"before":"812697d8ff0ee9a8caf2c1dd79650c8cee9fec53","after":"d0833f9c6265766f7500f57ce5ccc3825e410dab","ref":"refs/heads/gh-pages","pushedAt":"2024-07-09T22:14:36.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kohlschuetter","name":"Dr. Christian Kohlschütter","path":"/kohlschuetter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/822690?s=80&v=4"},"commit":{"message":"Site checkin for 2.10.1-SNAPSHOT","shortMessageHtmlLink":"Site checkin for 2.10.1-SNAPSHOT"}},{"before":"65602a9054eb232635678e1aa2f682969aaa059f","after":"4717924a81afc23dd914716911c7f76d36c66a40","ref":"refs/heads/main","pushedAt":"2024-07-09T16:08:52.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kohlschuetter","name":"Dr. Christian Kohlschütter","path":"/kohlschuetter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/822690?s=80&v=4"},"commit":{"message":"Update versions in SECURITY.md","shortMessageHtmlLink":"Update versions in SECURITY.md"}},{"before":"59389b8e04266581ac637ef52b15ec68cc164f2e","after":"65602a9054eb232635678e1aa2f682969aaa059f","ref":"refs/heads/main","pushedAt":"2024-07-09T11:03:07.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"kohlschuetter","name":"Dr. Christian Kohlschütter","path":"/kohlschuetter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/822690?s=80&v=4"},"commit":{"message":"docs: site: Pin maven-fluido-skin version","shortMessageHtmlLink":"docs: site: Pin maven-fluido-skin version"}},{"before":"a9e077daa9c7a3fdcf3ab928b1674b620cd4a3e9","after":"812697d8ff0ee9a8caf2c1dd79650c8cee9fec53","ref":"refs/heads/gh-pages","pushedAt":"2024-07-09T11:02:12.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kohlschuetter","name":"Dr. Christian Kohlschütter","path":"/kohlschuetter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/822690?s=80&v=4"},"commit":{"message":"Site checkin for 2.10.0","shortMessageHtmlLink":"Site checkin for 2.10.0"}},{"before":"8125664b9b0d58e5c6598cbf382da3a096059b9b","after":"59389b8e04266581ac637ef52b15ec68cc164f2e","ref":"refs/heads/main","pushedAt":"2024-07-08T16:06:53.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"kohlschuetter","name":"Dr. Christian Kohlschütter","path":"/kohlschuetter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/822690?s=80&v=4"},"commit":{"message":"Set version to 2.10.0","shortMessageHtmlLink":"Set version to 2.10.0"}},{"before":"44acf551250a0a12716aadf50cc712e9a43e7072","after":"8125664b9b0d58e5c6598cbf382da3a096059b9b","ref":"refs/heads/main","pushedAt":"2024-07-08T13:23:38.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kohlschuetter","name":"Dr. Christian Kohlschütter","path":"/kohlschuetter","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/822690?s=80&v=4"},"commit":{"message":"Fix not connected/bound error handling for Channels\n\nOn Linux, we may need to cast InvalidArgumentSocketException to\nNotYetBoundException/NotYetConnectedException.","shortMessageHtmlLink":"Fix not connected/bound error handling for Channels"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0yM1QxNDoyOToxMC4wMDAwMDBazwAAAAS-FIJB","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0yM1QxNDoyOToxMC4wMDAwMDBazwAAAAS-FIJB","endCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wNy0wOFQxMzoyMzozOC4wMDAwMDBazwAAAAR5oP9k"}},"title":"Activity · kohlschutter/junixsocket"}