summaryrefslogtreecommitdiff
path: root/_content/blog/race-detector/index.adoc
diff options
context:
space:
mode:
Diffstat (limited to '_content/blog/race-detector/index.adoc')
-rw-r--r--_content/blog/race-detector/index.adoc12
1 files changed, 6 insertions, 6 deletions
diff --git a/_content/blog/race-detector/index.adoc b/_content/blog/race-detector/index.adoc
index 20b408a..df13c5f 100644
--- a/_content/blog/race-detector/index.adoc
+++ b/_content/blog/race-detector/index.adoc
@@ -184,7 +184,7 @@ Timer `t` dan kanal `reset` yang baru mengkomunikasikan kebutuhan untuk
mereset _timer_ dengan cara yang aman.
Pendekatan lain yang lebih sederhana dan kurang efisien yaitu dengan
-https://play.golang.org/p/kuWTrY0pS4[menghindari menggunakan timer yang sama^].
+https://go.dev/play/p/kuWTrY0pS4[menghindari menggunakan timer yang sama^].
=== Contoh 2: `ioutil.Discard`
@@ -228,7 +228,7 @@ writer.ReadFrom(reader)
----
Kita
-https://golang.org/cl/4817041[menambahkan method `ReadFrom`^]
+https://go.dev/cl/4817041[menambahkan method `ReadFrom`^]
ke tipe `Discard`, yang memiliki penyangga internal yang dibagi dengan semua
penggunanya.
Kita tahu bahwa secara teori ini adalah kondisi berpacu, namun secara semua
@@ -236,19 +236,19 @@ penulisan ke penyangga seharusnya langsung dibuang kami berpikir masalah
kondisi berpacu di sini tidak begitu penting.
Saat pendeteksi _data race_ diimplementasikan ia langsung
-https://golang.org/issue/3970[menandakan kode tersebut^]
+https://go.dev/issue/3970[menandakan kode tersebut^]
sebagai "berpacu".
Sekali lagi, kita menyadari bahwa kode tersebut bermasalah, namun memutuskan
bahwa kondisi berpacu tersebut tidak "nyata".
Untuk menghindari kondisi "positif salah" ini pada saat pembangunan, kita
mengimplementasikan
-https://golang.org/cl/6624059[versi yang tidak "berpacu"^]
+https://go.dev/cl/6624059[versi yang tidak "berpacu"^]
yang dinyalakan hanya saat pendeteksi _data race_ berjalan.
Akan tetapi beberapa bulan kemudian
https://bradfitz.com/[Brad^]
menemui sebuah _bug_ yang
-https://golang.org/issue/4589[janggal dan menyebalkan^].
+https://go.dev/issue/4589[janggal dan menyebalkan^].
Setelah beberapa hari melakukan _debug_, dia menemukan kondisi berpacu yang
nyata yang disebabkan oleh `ioutil.Discard`.
@@ -327,7 +327,7 @@ func (t trackDigestReader) Read(p []byte) (n int, err error) {
----
Bug ini akhirnya
-https://golang.org/cl/7011047[diperbaiki^]
+https://go.dev/cl/7011047[diperbaiki^]
dengan memberikan penyangga yang unik untuk setiap penggunaan
`ioutil.Discard`, mengeliminasi kondisi berpacu pada penyangga yang berbagi.