1. #1
    Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    août 2014
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 21
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : août 2014
    Messages : 40
    Points : 55
    Points
    55

    Par défaut probleme segmentation memoire et telechargement http (cpcdos os2.1 bêta 1.0)

    salutations et bravo pour cette nouvelle mise a jour tout le travail que vous avez fait au niveau du cpu,bios ,memoire reseau est impressionnant comparé a la version de fevrier 2015!!! meme si il est encore la j'ai moins l'impression d avoir freedos comme noyau principal voir plus du tout!
    j'ai un projet d'un serveur tcp qui traite des informations de meteo

    seulement jai un probleme dans le sdk de cpcdos, j'essaie de telecharger un fichier html en c++ depuis une fonction du noyau, comme j'ai besoin que uns de mes thread detecte la presence du fichier j ai utilise la fonction end_critical_section(). et j'ai une erreur a propos de la fonction bebin_critical_section() alors que je n'utilise pas.. voila lerreur :
    Nom : VirtualBox_PUBLIC Cpcdos OSx_01_02_2018_22_34_37.png
Affichages : 79
Taille : 83,8 Ko
    d'ailleurs vous avez oublié un " avant le mot debug.log

    comment faire ? et pourquoi mon thread ne fonctionne pas si j'utilise pas cette fonction end_critical_section() ??


    merci! et desole pour mon orthographe vraiment.. je suis dyslexique
    louis

  2. #2
    Membre expérimenté
    Avatar de cpcdos
    Homme Profil pro
    Etudiant Master ESI Isitech Développeur technicien informatique embarqué chez Navya
    Inscrit en
    mai 2010
    Messages
    565
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Etudiant Master ESI Isitech Développeur technicien informatique embarqué chez Navya
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : mai 2010
    Messages : 565
    Points : 1 701
    Points
    1 701
    Billets dans le blog
    1

    Par défaut

    Salut ! Et merci

    Comme je l'ai mentionné dans les Releases, et aussi dans la publication "Info : La préemption est "désactivée" sur les modules externes. Sous-entendu que les .exe, .bc, et routines C++ sont exécutés en mode "Section critique" pour combler temporairement les crashs liés à une mauvaise gestion de la mémoire virtuelle de Cpcdos et sauvegardes/restaurations des contextes des tâches"
    la préemption est "désactivée", ce qui sous entend que les modules externes (.EXE, .BC, Et modules du SDK) sont exécutes dans une section critique pour des raisons d'instabilité. comme c'est le cas pour toi, c'est pas top je l'admet.
    Ton thread n'est donc pas exécuté

    Tu as utilisé la fontion end_critical_section() pour en gros "réactiver la préemption" et c'est justement ce qui ne faut pas faire, c'est voulu ! On re-travaille(ra) dessus, quand t-on attaquera le support APIC.
    Pour combler ton problème de thread, je te conseille d'utiliser la fonction du noyau "doevent()" ou "sleep_ms()" ce qui va forcer le sheduler à exécuter d'autres tâches, "en mode coopérative" ceci fonctionne miraculeusement !
    Mais attention que ton thread ne se bloque pas car ton module C++ attend que ton thread se reboucle et il redonne la main à ton programme C++.

    Confirme moi si ça marche dans ton code C++!

    Bien à toi,
    Sébastien FAVIER
    co-kernel Cpcdos OSx un noyau 32bits simplifié et complet.. ou presque - Le fofo officiel c'est par ici.
    Les cours sur les systèmes c'est par là

  3. #3
    Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    août 2014
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 21
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : août 2014
    Messages : 40
    Points : 55
    Points
    55

    Par défaut

    bonsoir et Merci pour ta reponce !!

    j'ai enlever le end_critical_section() puis jai effectivement utiliser sleep_ms() et ça fonctionne merci beaucoup !!!
    je peux continuer mon projet bonne soiré

    louis

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. probleme de mémoire?
    Par dams78 dans le forum GTK+ avec C & C++
    Réponses: 12
    Dernier message: 24/02/2006, 13h52
  2. [VC++6] probleme fuite memoire CLIST ?
    Par athilla dans le forum MFC
    Réponses: 16
    Dernier message: 22/11/2005, 16h01
  3. segment memoire partagee, thread, ou autre?
    Par Pouic dans le forum POSIX
    Réponses: 9
    Dernier message: 26/10/2004, 18h54
  4. [langage] Problème de mémoire
    Par And_the_problem_is dans le forum Langage
    Réponses: 6
    Dernier message: 22/07/2003, 16h17
  5. [swing] probleme de memoire
    Par leBigouden dans le forum AWT/Swing
    Réponses: 6
    Dernier message: 23/05/2003, 14h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo