From a9d635fdb59c6e45ba755d60f8549f285521cca2 Mon Sep 17 00:00:00 2001
From: Paavo Nieminen <paavo.j.nieminen@jyu.fi>
Date: Thu, 11 Jun 2015 13:21:05 +0300
Subject: [PATCH] Tyypilliset kommentit muistivuotovapariin.

---
 2015/demot/yleispalautteita.txt | 62 +++++++++++++++++++++++++++++++++
 1 file changed, 62 insertions(+)

diff --git a/2015/demot/yleispalautteita.txt b/2015/demot/yleispalautteita.txt
index 6ee37cc..27c39b7 100644
--- a/2015/demot/yleispalautteita.txt
+++ b/2015/demot/yleispalautteita.txt
@@ -1,5 +1,67 @@
 Yleisiä palautepätkiä, joita tarvitsi copy-pastata useaan vastaukseen.
 
+v01_vaarallisia_ohjelmia
+---------------------------
+
+Hyväksytään, kun on yritetty tehdä ja kommentoitu prosessia uskottavasti.
+EI OLE KUITENKAAN MISSÄÄN NIMESSÄ OIKEIN! Syy:
+
+Hyväksytään, kun on yritetty tehdä.
+EI OLE KUITENKAAN MISSÄÄN NIMESSÄ OIKEIN! Syy:
+
+
+
+Toimivalta näyttää. Kohteliasta tosin olisi vapauttaa lopussa vielä c,
+koska se on dynaamisesti varattua muistia. Esim. jos nykyinen
+pääohjelma refaktoroinnin yhteydessä siirrettäisiin yleiskäyttöiseksi
+aliohjelmaksi, niin kyseinen aliohjelma saattaisi epähuomiossa jäädä
+vuotamaan muistia osoitteessa c.
+
+Pääsääntönä tulisi olla tarkkana ja vapauttaa aina eksplisiittisesti
+kaikki, mitä on varannutkin. Jäisi se toimintamalli
+"selkäytimeen". Tässä esimerkissähän koko ohjelman loppuminen kyllä
+vapauttaa kaiken prosessilla käytössä olleen muistin. Todellisia
+ongelmia voi tulla prosessien yhteisten resurssien, kuten
+viestijonojen tai semaforien kanssa. Näiden osaltahan ei auta edes
+uudempien alustakirjastojen turvavyöt, koska vain sovelluksen tekijä
+tietää, tuleeko ohjelman vapauttaa resurssi vai jättää se myöhempien
+prosessien käyttöön. Näilläkin voi olla kiintiömäärä, jonka loputtua
+uutta vastaavaa resurssia ei saa enää varattua. (Ja muistia vievät
+toki nämäkin, joskin käyttöjärjestelmän muistialueen puolelta! Ja
+viestijonon jäädessä eloon jää sinne myös toistaiseksi
+käsittelemättömät viestit viemään oman osansa muistista.)
+
+
+
+Huom.. nohevan opiskelijan cross-platform -koodi:
+
+#if defined(_WIN32) || defined(_WIN64) || defined(OS_WINDOWS)
+#include <windows.h>
+#else
+#include <unistd.h> // for usleep
+#endif
+
+#include<stdio.h>
+#include<string.h>
+#include<stdlib.h>
+//#include "turvavyo.h"
+
+void sleep_ms(int milliseconds) // cross-platform sleep function
+{
+#ifdef WIN32
+    Sleep(milliseconds);
+#else
+    usleep(milliseconds * 1000);
+#endif
+}
+
+
+v02_toteutuskatsaus
+---------------------
+
+
+
+
 d01_sormet_unixiin
 -------------------
 
-- 
GitLab